数据查询实验报告.docx
- 文档编号:6313508
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:12
- 大小:67.43KB
数据查询实验报告.docx
《数据查询实验报告.docx》由会员分享,可在线阅读,更多相关《数据查询实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
数据查询实验报告
甘肃政法学院
本科生实验报告
(三)
姓名:
学院:
专业:
班级:
实验课程名称:
实验日期:
年月日指导教师及职称:
实验成绩:
开课时间:
学年第学期
甘肃政法学院实验管理中心印制
实验题目
数据查询
小组合作
姓名
班级计本班
学号
一、实验目的
(1)掌握SELECT语句的语法
(2)掌握基于单表的查询方法
(3)掌握基于多表的查询方法
(4)掌握相关与不相关的嵌套查询
(5)掌握使用UNION勺集合查询
二.实验环境
WINDOWSXP+SQLSERVER2000
三、实验内容与步骤
1、在实验二中建好的Student表、Course表和SC表,使用T-SQL
语句,进行单表查询
(1)查询全体学生的学号与姓名,查询结果如下图1.1所示:
■查询一IJE132.SPLIJE132\i0i—无标题口叵|冈
SELE2TSno,Snam?
fromstudent.
<…■Ill
SndSnajT.e
L
200215121
车勇
2
200215122
刘晨
3
20021E123
王墩
4
200215125
(2)查询全体学生的姓名、学号、系别,查询结果如下图1.2所
示:
(4)查询全体学生的姓名及其出生年份,查询结果如下图1.4
所示:
selectSnane.201^-Sa£&
fromstudent;|
Snane(无列名)
1李勇1S93
2列晨]994
3£f*JP35
4张立19^4
(5)查询全体学生的姓名和系别(系别用小写字母显示),查
(6)查询选修了课程的学生学号,查询结果如下图1.6所示:
(7)查询CS系全体学生的姓名,查询结果如下图1.7所示:
果如下图1.8所示:
selectSnww*Saje
freinstudent
whereSageJetwsen17and19;
3i
<
■H1L
]>
S勰已
19
IF
IS
刘晨王敏找立
(9)查询CS系或MA系的学生姓名和系别,查询结果如下图
1.9所示:
(10)查询所有李姓学生的姓名,查询结果如下图2.0所示:
selectSname
fromstudent
whereSnanelitk已'李__”:
nil
Sname
w
(11)查询课程名称中第3~5个字为“—系统”的课程信息,查
询结果如下图2.1所示:
selectCno.CnamefromCoursel
wherelike5験厂系统’
*
-
—-i—川恫叩』>
CnoCname
1
3信息系统
2
4操作■系统
(12)查询缺少成绩的学生学号和相应课程号,查询结果如下
图2.2所示:
selectSno.Cno
fromsc
ill!
Si
*
>
wheregradeisnull;
弘口Cno
(13)查询计算机科学系年龄在20岁以下的学生姓名,查询结
果如下图2.3所示:
(14)查询全体学生情况,结果按系别升序、年龄降序排列,查
询结果如下图2.4所示:
*1
select*
fromstudent
orderbySdeptasc.Sagedesc;|
■
<,l.
Sno
Sname
Ssex
Sage
Sdept
4
CSCSISHA
200215121李勇200216122刘IB200215125张立200215123王敏
(15)查询选课记录总数及选修了课程的学生人数,查询结果如
下图2.5所示:
select匚ount(distinctSno)count(+)■fromsc:
<
丨血
H
(无洌名)
(无列名)J
1
2
5
(16)查询2号课程的平均分、最高分和最低分,查询结果如下
图2.6所示:
selectavg(Grade1,max(Grade)jmin(Grade)fr&mSC
whsreCno^*2f:
1
(:
无列名)
【无列名)
〔无列名〕
87
90
35
(17)查询每门课程的选课人数,查询结果如下图2.7所示:
selectCno,count'distinctSno)
fromSC
groupbyCno;
<卫
1
Cno
(无列名)
1
1
2
2
2
3
3
2
2、使用T-SQL语句,进行连接查询
(1)查询每个学生及其选修课程的情况,查询结果如下图2.9所
示:
1
200215121
20
CS
200215121
1
92
2
200215121
20
CS
200215121
2
S5
3
200215121
20
CS
200215121
3
S8
4
200215122
19
CS
200215122
2
90
5
200215122
15
CS
200215122
3
80
Sname
SstK
Sdept
Sno
Cno
seleutstudent.sc,-fromstudentjscwherestudent,sno^sc.sno:
uv|
」]□
』All
Grade
(2)查询每门课的间接选修课,查询结果如下图3.0所示:
(3)查询每个学生的学号、姓名、选修课程名及成绩,查询结
果如下图3.1所示:
ale匚tsludent-Sno,,SnQM:
CnajuBjGradefromstudent,scfcoursewheresludent.sno-sc.snoandscrcnc-course,ciiq;
Sno
Snane
Cname
Grade
统
系据学息学息数数信数信
1200215121李勇
2200215121
3200215121李舅
4200215122刘晨
5200215122刘晨
3、使用T-SQL语句,进行嵌套查询
(1)查询所有选修了2号课程的学生姓名,查询结果如下图3.2
所示:
selectSnamefromstudentwheresnain
(selectsn?
fromscwherecno~?
T
1
.*J
1
2
刘晨
(2)查询每个学生超过他所有选修课程平均成绩的课程号,查
询结果如下图3.3所示:
selectsno,t?
no
fromscxwhtreGrade>=stlectavg(grade
fronscy]
wherey.3no=x.snQ;
1
<|L
sno
cn-o
1
200215121
l
2
200215121
3
3
200215122
2
(3)查询其他系中比CS系所有学生年龄都小的学生姓名,查询
结果如下图3.4所示:
selectSnamefromstudentwhereSa^e(selectSagefromstudent
inheresdept=pcs1)andsdeptO*cs?
:
<
1>11
Sn^jne
1
王敏
2
张立
(4)查询选修了全部课程的学生姓名,查询结果如下图3.5所示:
Al
I
I
IA
2
sname
(5)查询至少选修了200215122选修的全部课程的学生学号,
查询结果如下图3.6所示:
4、使用T-SQL语句,进行集合查询
(1)查询CS系的学生或年龄不大于19岁的学生,查询结果如
下图3.7所示:
selectsnante
fromstudentwherenotexists
(selecttfromcoursewherenotexists(select4fromscwheresnc=student-snogndcourse-cric;
嗣查询一IJE101.sp.町ElIM
E101\k(
200215121
200215122
selectdistinctSno
romscwhereenoin(selectcrxofromscwheresno=J200215122")
^^3
i11miu
Sage
200215121
2200216122
3200215123
4200215125
舅晨敏立李刘王张
男女女男
20
rs;
CS血
四、实验过程与分析
1在单表查询中,查询只涉及一个表的查询,
2、在连接查询中,查询同时涉及两个以上的表,包含等值连接查询、自然连接查询、非等值连接查询、自身连接查询,外连接查询和复合条件连接查询。
3、嵌套查询,主要是查询块的确立,分为相关子查询和不相关子查询。
五、实验总结
1、在单表查询的中,在去掉表中的重复行时,必须用指定的
DISTINCT关键字。
GROUPB字句将查询结果按某一列或多列的值分组,值相等的为一组。
DRDERBY子句对查询结果按照一个和多个属性的升序(ASC或降序(DESC,缺省值为升序。
2、在连接查询中,主要是分清表与表的联系。
3、在嵌套查询中,主要掌握带比较运算符的子查询,带有EXISTS谓词的子查询和NOTEXISTS胃词的查询。
4、集合查询主要包括并操作UNION交操作INTERSECTS差操作EXCEPT注意参加集合查询的各查询结果的列数必须相等;对应的数
据类型也必须相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 查询 实验 报告