数据库数据查询
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四数据查询
【实验目的】
1.掌握使用SQL语句查询数据
【实验内容】
1.使用企业管理器进行数据查询
2.在查询分析器内使用SQL语句进行数据查询
【实验准备】
1.复习与本次实验内容相关知识
2.复习查询分析器的使用
3.对本次实验中要求自己完成的部分做好准备(第二部分,请预先写出来) 【实验步骤】
1.用SQL Server Management Studio(SSMS)进行数据查询
o打开SQL Server Management Studio
o展开服务器-->展开数据库-->展开自己的数据库-->单击表。
o在需要查询的表上单击右键,在弹出的快捷菜单中选择"打开表(O)",在已打开的表格形式下,右键,其下级菜单即为:
▪关系图(D) --显示关系图
▪条件(C) --以交互方式设计查询
▪SQL (S) --打开查询窗口,以命令方式设计查询o
o请从学生表(U_STUDENTS)上右击,使用"条件(C)"命令建立一个查询,请选中学号(SID)、姓名(NAME)两个字段,再单击上面的
执行按钮(!按钮)执行查询,查看结果。
o 再在关系图窗格内右击鼠标在弹出菜单中选择添加表,添加班级表
(U_CLASSES ),在班级表的CID 字段上按下鼠标左键,拖至学生表的CID 上建立关联,在班级表上选中班级(CLASS )、系
(DEPARTMENT )字段,再在网格窗格上选择姓名(NAME )行上选择
排序类型为"升序"。执行该查询,查看结果。结果如下图所示。
(注意查看SQL窗格内的SQL查询语句)
o该操作实现了从班级表、学生表中查询出所有学生的姓名(NAME)、班级(CID)、班级名称(CLASS)、所在系(DEPARTMENT)
的记录数据。
2.用SQL语句查询数据
o启动数据库引擎查询器
o在查询器中分别执行下列查询语句(有的语句请自己写出),体会或说明各语句的功能(请将下面的语句复制到查询分析器,逐条执行
--要执行一条语句请选中该语句再按F5或单击执行铵钮,如下图所示)。
o
o--查询学生表
SELECT * FROM U_STUDENTS
SELECT * FROM U_STUDENTS ORDER BY CID
--查询成绩表(请体会下列语句的功能)
SELECT * FROM U_SCORES
SELECT * FROM U_SCORES WHERE COURSE_ID=1
SELECT * FROM U_SCORES WHERE
STUDENT_ID='5103210102'
SELECT * FROM U_SCORES WHERE SCORE<60
SELECT * FROM U_SCORES WHERE SCORE<60 AND
COURSE_ID=1
--请比较下面三个语句,并说明其作用。
SELECT TOP 10 * FROM U_SCORES
SELECT TOP 10 * FROM U_SCORES ORDER BY SCORE
SELECT TOP 10 * FROM U_SCORES ORDER BY SCORE DESC
--下面命令将结果存放于TMP_XSB1表中。
SELECT * INTO DBO.TMP_XSB1 FROM U_SCORES WHERE
SCORE<60 AND COURSE_ID=1
--请写出查询课程号为2成绩大等于70的学生成绩情况,并将其结
果存放于TMP_XSCJ表中(在查询语句中参照上例用INTO
DBO.TMP_XSCJ子句)。
--从成绩表中找出有哪些学生(学号)。
SELECT DISTINCT STUDENT_ID FROM U_SCORES
--查询所有学生情况(比较下面的两个语句)。
SELECT A.SID,,B.CLASS,B.DEPARTMENT
ROM U_STUDENTS A INNER JOIN U_CLASSES B ON
A.CID=
B.CID
SELECT A.SID,,B.CLASS,B.DEPARTMENT
FROM U_STUDENTS A , U_CLASSES B WHERE A.CID=B.CID
--查询班号为2的所有学生。
SELECT A.SID,,B.CLASS,B.DEPARTMENT
FROM U_STUDENTS A , U_CLASSES B
WHERE A.CID=B.CID AND B.CID=2
--请写出从学生表查询班级为'软件031'的学生情况(学号,姓名,所在班级,所在系),并请将查询结果用INTO子句存放于DBO.TMP_XSB2表中。
--按班级统计人数。
SELECT CID AS 班号,COUNT(*) AS 人数
FROM U_STUDENTS GROUP BY CID
--请将上面的语句添加INTO子句,再执行一次并将结果存放于DBO.TMP_XSRS 表中。
--查询所有学生成绩(试比较下面的两个语句的不同点,并看看他们的执行结果是否相同)。
SELECT A.SID, , B.COURSE, C.SCORE
FROM U_SCORES C INNER JOIN U_STUDENTS A ON C.STUDENT_ID =
A.SID
INNER JOIN U_COURSES B ON C.COURSE_ID = O
SELECT A.SID,,B.COURSE,C.SCORE