- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三:数据查询实验
实验三:数据查询实验
一、实验目的
了解在企业管理器或查询分析器中执行数据查询的方法;掌握SQL Server Query Analyzer中简单查询、连接查询、嵌套查询操作方法。
二、实验内容
1、使用企业管理器进行查询(验证性,了解部分)
(1)查询数据表的全部数据
在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,这时将显示该表的全部数据。
(2)使用SELECT语句查询数据表的数据
在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,在打开返回表内容的子窗口中,单击工具栏按钮“显示/隐藏SQL窗格”,把子窗口分为上下两部分,上面部分能输入不同的SQL命令。执行时单击工具栏按钮“运行”即可。
(3)学习和使用QBE查询
在企业管理器中,选择需要查询数据的表,用鼠标右键单击该表,从弹出的快捷菜单中选择“打开表”命令,在打开返回表内容的子窗口中,单击工具栏按钮“显示/隐藏条件窗格”,把子窗口分为上下两部分,上面部分能选择QBE查询条件,执行时单击工具栏按钮“运行”即可。若单击工具栏按钮“显示/隐藏SQL窗格”,则在SQL窗格中会显示自动生成的对应SQL语句。
2、使用查询分析器进行查询(验证性)
(1)查询Student表中所有学生的学号、姓名和性别。
SELECT Sno, Sname, Ssex
FROM Student
(2)可以用“*”来选取数据表的全部列
例如:查询Student表中所有学生的基本情况。
SELECT *
FROM Student
(3)在查询结果中增加计算列,还可修改数据列的显示名称。
例如:查询Student表中所有学生的学号、姓名、性别和出生年份。
SELECT Sno 学号, Sname 姓名, Ssex 性别, Year(GetDate()) - Sage 出生年份
FROM Student
(4)使用WHERE子句,可以选择满足条件的部分记录
例如:查询成绩在85~90分之间的学生情况。
SELECT Sno, Cno, Grade
FROM SC
WHERE Grade = 85 AND Grade = 90
(5)使用DISTINCT关键字,可以消除重复记录
例如:查询有成绩的学生的学号。
SELECT DISTINCT Sno
FROM SC
(6)使用IN关键字,选择不连续条件的记录
例如:查询学生成绩为80或85的学生的学号。
SELECT *
FROM SC
WHERE Grade IN (80, 85)
(7)使用谓词LIKE和通配符“%”或“_”,实现模糊查询
例如:查询姓“张”的学生的基本情况。
SELECT *
FROM Student
WHERE Sname LIKE 张%
注意:“%”代表0个或多个字符,“_”代表一个字符。有的书上说,一个汉字占两个字符,但这里一个汉字只占一个字符位置,这与系统的设置有关。
(8)使用ORDER BY子句,对查询结果进行排序
例如:查询所有学生的2号课的成绩,并按成绩由高向低排序。
SELECT *
FROM SC
WHERE Cno =’ 2’
ORDER BY Grade DESC
(9)使用TOP关键字,选择查询结果的前几条记录
例如:查询2号课成绩最高的学生记录。
SELECT TOP 1 *
FROM SC
WHERE Cno = 2
ORDER BY Grade DESC
注意:如果2号课成绩存在并列最高,则使用下面的SQL语句。
SELECT TOP 1 WITH TIES *
FROM SC
WHERE Cno = 2
ORDER BY Grade DESC
(10)用WHERE子句指定连接条件
例如:查询所有有2号课程成绩的学生的学号、姓名和成绩。
SELECT Student.Sno, Sname, Grade
FROM Student, SC
WHERE Student.Sno = SC.Sno AND Cno = 2
(11)将查询结果存储到表中
例如:将总分在200分以上的学生的情况(学号、姓名、性别、总成绩)存储到数据表GradeList中,假设数据表GradeList不存在。
SELECT A.Sno, Sname, Ssex, SUM(Grade) AS sumGrade
INTO GradeList
FROM Student A, SC
WHERE A.Sno = SC.Sno
GROUP BY A.Sno, Sname, Ssex
HAVING (SUM(SC.Grade) = 200)
该语句执行成功后,在企业管理器中可以看到已经创建的数据表GradeList,并将查询结果是存储在该表中了。
(12)
文档评论(0)