版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验六:数据库综合查询
一、实验目得
1.掌握SELECT语句得基本语法和查询条件表示方法;
2.掌握查询条件种类和表示方法;
3.掌握连接查询得表示及使用;
4.掌握嵌套查询得表示及使用;
5.了解集合查询得表示及使用。
二、实验环境
已安装SQLServer2005企业版得计算机(13台);
具有局域网环境,有固定IP;
三、实验学时
2学时
四、实验要求
1.了解SELECT语句得基本语法格式和执行方法;
2.了解连接查询得表示及使用;
3.了解嵌套查询得表示及使用;
4.了解集合查询得表示及使用;
5.完成实脸报告;
五、实脸内容及步骤
以数据库原理实脸5数据为基础,请使用T-SQL语句实现进行以下操作:
1.查询以*DB_,开头,且倒数第3个字符为's'得课程得详细情况;
USEstudent
SELECT'课程号’二Cn。,‘课程名'二Cname,'先行课号'=Cpn。,’学
分’=Ccredit
FROMcourse
WHERE
结果鱼消息
课程号课程:先行设二字分
SUBSTRING(Cname,1,3)='DB_'AND
SUBSTRING(RIGHT(RTRIM(Cname),3),1,1)='s'
2.查询名字中第2个字为‘阳'得学生姓名和学号及选修得课程号、课程
名;
USEstudent
SELECT1姓名"=student>Sname,'学号,=student、Sno,'课程号
'=course>Cno,'课程名'二course>Cname
FROMstudent,course,sc
WHERE
student、Sn。=sc、SnoAND
国结果I由消息
姓名学…课程…课程名
course、Cno=sc、CnoAND
SUBSTRING(LTRIM(student、Sname),2,1)='阳'
3.列出选修了‘数学'或者'大学英语'得学生学号、姓名、所在院系、
选修课程号及成绩;
USEstudent
SELECT
'学号'二student、Sno,
‘姓名‘二student、Sname,
'所在院系'二student、Sdept,
'课程号,:sc、Cno,
'成绩'二sc、Grade
FROMstudent,course,sc
WHERE
student、Sno=sc、SnoAND
<--------------
二I结果必消息
学号姓名所在院…课程…成绩
1120051Q张衡IS246
2200515005张向东IS289
3200515006张向丽IS265
4200515008王民生MA272
520051500S王小民MA276
6200515010王丹丹MA296
200515010王丹丹MA891
8200515011张毅WM867
9200515015李蕾EN85
10200515016刘社CM8N...
11200515017刘星耀CM8N...
12200515018李贯EN863
course、Cno=sc、CnoAND
(course、Cnama二‘数学’ORcourse、Cname二‘大学英语’)
4.查询缺少成绩得所有学生得详细情况;
USEstudent
SELECTstudent>*
FROMstudent,sc
WHERE
rs结果至消息
SnoSnameSsexSageSdept
1!200515016;刘社男21CM
2'"200575017-Z刘星耀男18CM
student、Sno二sc、SnoAND
sc、GradeISNULL
5.查询与‘张力'(假设姓名唯一)年龄不同得所有学生得信息;
USEstudent
SELECT*
FROMstudent
WHERE
Sname!='张力'AND
Sage!=(SELECTSageFROMstudentWHERESname='张力
三结果|洎息
Sno
赵百
女23
1j200515001
咏
李
男2c
2200515002cs
衡
张
男18
32005150042ls
向
张
男
东o
4200515Q05ls
向
张
女2o
5200515006丽ls
芳
王
女
6200515007生2C
民cs
王
男MA
7200515008民
小
王
女8MA
S200515009丹
丹
王
女2c
9200515010
毅
张
男2oMA
10200515011WM
磊
楠
女2c
11200515012EN
丰
张
男
12200515014CS
留
李
女EN
200515015社
刘
13男CM
星
刘
男CM
耀8
200515017
15自
林
男wM
许20
嵯
刘
16200515019男
鸥
小
朱
杵
,)
6.查询所选课程得平均成绩大于张力得平均成绩潺学生学号、姓名及平均
成绩;
USEstudent
DECLAREZLAVGINT
SETZL_AVG=(
SELECTAVG(sc>Grade)
FROMsc,student
WHEREsc、Sno=stucent^SnoANDstudent、Sname='张力'
GROUPBYsc、Sn。,student、Sno)
SELECTDISTINCT
'学号'二student、Sno,
'姓名'=student、Sname,
‘平均成绩’二AVG[sc、Grade)
FROMstudent,sc
WHEREsc、Sno=student^Sno
而结果直遁I______________
学号姓名平均成绩
1r26o5l"501o'"'i王丹丹93
•、.......................;
GROUPBYsc、Sno,student>Sn。,student、Sname
HAVINGAVG(sc,Grade)>ZL_AVG
7.按照“学号,姓名,所在院系,已修学分”得顺序列出学生学分得获得情况。
其中已修学分为考试已经及格得课程学分之和;
USEstudent
SELECTDISTINCT
'学号'二student、Sno,
‘姓名‘二student、Sname,
‘所在院系'二student、Sdept,
'已修学分':SUM1CASEWHENsc.Grade>=60THENcours
e、Ceredit*1ELSE0END)
FROMstudent,sc,course
WHEREsc、Sno=studentsSnoANDsc、Cno=course、Cno
学号姓名所在院…已修学分
1200515QC1:赵菁苦CS11
2200515002李咏CS7
3200515003张力CS4
4200515004张衡IS4
5200515005张向东IS9
6200515006张向丽IS6
7200515008王民生MA2
8200515009王小民MA2
920C515010王丹丹MA5
10200515011张毅WM3
11200515015李蕾EN0
12200515016刘社CM0
GROUPBYstudent>Sno,student>Sname,student>Sdept
8.列出只选修一门课程得学生得学号、姓名、院系及成绩;
USEstudent
SELECT
学号'=studentSno,
姓名’;student、Sname,
院系'二student、Sdept,
成绩■'二sc、Grade
FROMstudent,sc
WHEREstudent>Sno=sc、SnoAND
口结果石消息
学号姓名院.•成绩
1200515003张力CS91
2200515008王民生MA72
3200515009王小民MA76
4200515011张毅WM67
5200515015李蕾EN5
6200515016刘社CMNULL
7200515017刘星耀CMNULL
8200515018李贵EN63
student,Sno=ANY(SELECTSnoFROMscGROUPBYSnoH
AVINGCOUNT(Cno)=1)
9.查找选修了至少一门和张力选修课程一样得学生得学号、姓名及课程号;
USEstudent
SELECT
,学号,二student、Sno,
姓名'=student、Sname,
,课程号•二sc、Cno
FROMstudent,sc
WHEREstudent、Sno=sc、SnoAND
student、Sname!二'张力'AND
sc、Cno=ANY(SELECTsc、CnoFROMsc,studentWHEREsc^Sno
口结果消息
学号姓名课程号
11200515001j赵菁菁1
2200515002李咏1
3200515004张衡1
4200515005张向东1
5200515006张向丽1
=student、SnoANDstudent、Sname='张力')
10.只选修“数据库”和“数据结构”两门课程得学生得基本信息;
USEstudent
SELECT
'学号'=studentsSno,
‘姓名‘二student、Sname,
学院’=student、Sdept,
"选修课程'二course、Cname
FROMstudent,sc,course,courseb
WHEREstudent^Sno=sc、SnoAND
course、Cno=sc>CnoAND
b、Cno=course、CnoAND(
(sc、Sno=ANY(SELECTSnoFROMscGROUPBYSnoHAVING
COUNT(Cno)=1)AND
(course、Cname='数据库'ORcourse、Cname='数据结构'))
OR
(sc、Sno=ANY(SELECTSnoFROMscGROUPBYSnoHAVING
p结果备消息
学号姓名学…选修课程
1Q66A版运:张力cs数据库
COUNT(Cno)=2)AND
b、Cname='数据库'ANDcourse、Cname='数据结构'))
11.至少选修“数据库”或“数据结构”课程得学生得基本信息;
USEstudent
SELECTDISTINCT
,学号’二student、Sno,
'姓名'=student、Sname,
学院'=student、Sdept
FROMstudent,sc
WHEREstudent>Sno=sc>SnoAND
sc、Sno=ANY(
SELECTsc、Sno
FROMcourse,sc
WHEREcourse>Cno=sc、CnoAND
(course、Cname二'数据库’ORcourse、Cname二‘数据结构’))
二]结果」消息
字号姓名字院
120c515001j赵菁菁CS
2200515002李咏CS
3200515003张力CS
420C515004张衡IS
5200515005张向东IS
620C515006张向丽IS
12.列出所有课程被选修得详细情况,包括课程号、课程名、学号、姓名及成
绩;
USEstudent
SELECT
'课程号':sc、Cno,
‘课程名'二course、Cname,
学号,=sc^Sno,
姓名'二student、Srame,
成绩'二sc、Grade
FROMsc,course,student
WHEREsc、Cno=course、CnoANDsc、Sno=student>Sno
口缄,j)M
课程号课程名学号姓名成渍
1....微据库200515001赵菁苦801
21数据库2005150C2李咏90
3_1数据库200515003张力91
41数据库2005150W张缗79
51数据库200515006张向丽89
61数据库200515005张向东63
710人工智德2005150C5张向东65
82数学200515005张向东89
92数学200515006张向丽65
102数学200515008王民生72
112数学2005150CS王小民7S
122数学200515010王丹丹%
132数学2005150W张窝46
143僖息系统200515002李咏53
154犊作系统200515002李尿85
164操作系统200515001赵菁菁62
175数据结构200515001跑菁菁58
18S数据处理200515021刘修58
19_7PASCA...200515001赵菁菁70
::8大学英语200515010王丹丹91V
,置诃已成功执行,JGZ-VIRTUALXP\>QLEXPRESS(90SP4)JGZ-VIKrilAU八ASinHratorS2)student00:00:0026行
ORDERBYsc、CnoASC
13.查询只被一名学生选修得课程得课程号、课程名;
USEstudent
SELECT
'课程号'=sc、Cno,
课程名'二course、Cname
FROMsc,course
WHEREsc、Cno二course、Cno
GROUPBYsc、Cno,course、Cname
HAVINGCOUNT(sc>Sno)=1
ORDERBYsc、CnoASC
口萩]由而______
课程号课程名
1f人工智能
2T"~~信息系统
35数据结构
46数据处理
57PASCAL语言
69计算机网络
14.检索所学课程包含学生'张向东'所学课程得学生学号、姓名;
USEstudent
SELECTDISTINCT
,学号’二sc、Sno,
'姓名':student、Sname
FROMsc,student
WHEREsc、Sno=student、SnoAND
student^Sname!二’张向东‘AND
sc、Cno=ANY(SELECTsc、CnoFROMsc,student
WHEREsc>Sno=student、SnoANDstudent、Sname二’张
向东')
二]结果口消息
学号姓名
1200515001赵菁菁
2200515002李咏
3200515003张力
42005150(X张衡
5200515006张向丽
6200515008王民生
7
200515009王小民
8200515010王丹丹
15.使用嵌套查询列出选修了“数据结构”课程得学生学号和姓名;
USEstudent
SELECTDISTINCI
'学号’=sc、Sno,
'姓名'二student、Sname
FROMsc,student,course
WHEREsc、Sno=studentSnoAND
sc、Cno=course、OnoAND
sc>Sno=ANY(SELECTsc^SnoFROMsc,courseWHEREsc、
日结果石消息
学号姓名
1[260515661',|赵菁菁
Cno=course、CnoANDcourse、Cname="数据结构’)
16.使用嵌套查询查询其她系中年龄小于CS系得某个学生得学生姓名、年龄
和院系;
USEstudent二1结果_3消息
姓名年…院系
1张衡118IS
SELECT
2张向东20IS
3张向丽20IS
4王小民18MA
'姓名'二Sname,
5王丹丹20MA
6张毅20WM
一
'年龄'二Sage,i杨磊20EN
8李晨19MA
9李蕾21EN
‘院系'=Sdept10刘社21CM
11刘星耀18CM
12李贵19EN
FROMstudent13林自许20WM
WHERESdept!='CS'ANDSage<ANY(SELECTTOP4SageFRO
MstudentWHERESdept=1CS')
17.使用ANY、ALL查询,列出其她院系中比CS系所有学生年龄小得学生;
USEstudent
SELECT*
□结果|J消息
SnoSnameSsexSageSdept
一:200515期j张衡男18IS
2200515009王小民女18MA
3200515017刘星耀男18CM
FROMstudent
WHERESdept!='CS'ANDSage<ALL(SELECTSageFROMs
tudentWHERESdept='CS')
18.分别使用连接查询和嵌套查询,列出与‘张力'在一个院系得学生得信息;
连接:
USEstudent
SELECTa、*
FROMstudenta,studentb
WHEREa、Sdept=b、SdeptANDa、Sname!二'张力'ANDb、Sname
=,张力'
嵌套:
USEstudent
SELECT*
FROMstudent
WHERESdept=ALL(SELECTSdeptFROMstudentWHERESna
忠结果1B消息
SnoSnameSsexSageSdept
1200515001赵菁菁女23CS
2200515002李咏男20CS
3200515007王芳女20CS
4200515014张丰毅男22CS
5200515021刘峥男25CS
SnoSnameSsexSageSdept
1200515001赵菁善女23CS
2200515002李咏男20CS
3200515007王芳女20CS
4200515014张丰毅男22CS
5200515021刘蟾男25CS
me='张力’)ANDSname!='张力’
19.使用集合查询列出CS系得学生以及性别为女得学生名单;
USEstudent
SELECT*
FROMstudent
WHERESdept='CS'
UNION
SELECT*
FROMstudent
WHERESsex='女'
ORDERBYSdept,SsexASC
20.使用集合查询列出CS系得学生与年龄不大于19岁得学生得交集、差集;
USEstudent
口结果居消息SELECT*
SnoSnameSsexSageSdept
1一200一5.1L5.L0.0L.2LT:I李咏男20CSFROMstudent
2200515003张力男19CS
3200515014张丰毅男22CS
4200515021刘峰男25CSWHERESdept='CS'
5200515001越菁菁女23CS
6200515007王芳女20CS
一200515012杨磊女20ENEXCEPT
8200515015李蕾女21EN
9200515006张向丽女20IS
102005150CS王小民女18MA
11200515010王丹丹女20MA
12200515013李晨女19MA
SELECT*
二1结果」消息
SnoSnameSsexSageSdept
1i200515003I张力男19CS
a.....................-IFROMstudent
WHERESage>19
SnoSname3sexSageSdept
i2DC515D02i李咏男20CS
1ORDERBYSageASC
2200515007壬芳女20CS
3200515014张丰毅男22CS
-200515001越苦菁女23CSGO
5200515021刘峰男25CS
SELECT*
FROMstudent
WHERESdept='CS1
EXCEPT
SELECT*
FROMstudent
WHERESage!>19
ORDERBYSageASC
21.使用集合查询列出选修课程1得学生集合与选修课程2得学生集合得交
集;
USEstudent
SELECTstudent、*□结果消息
SnoSnameSsexSageSdept
1200515004张衡男18IS
2200515005张向东男20IS
3200515006张向丽女20IS
FROMstudent,sc
WHEREsc>Sno=student>SnoANDsc、Cno='1'
INTERSECT
SELECTstudent、*
FROMstudent,sc
WHEREsc^Sno=student>SnoANDsc、Cno='2'
22.思考题:按照课程名顺序显示各个学生选修得课程(如200515001数
据库数据结构数学);
一种笨拙得循环方法:
USEstudent
DECLARESNumberINT
DECLARETmpSnoINT
SETSNumber=0
WHILESNumber<15
BEGIN
SETTmpSno=(SELECTDISTINCTTOP(SNumber+1)Sno
FROMsc
EXCEPTSELECTDISTINCTTOP(SNumber)Sno
FROMsc)
SELECT,学号'二Sn。,‘姓名'二Sname,
,第一门一(SELECTTOP1course、Cname
FROMsc,course
WHEREsc^Cno二course、CnoANDsc、Sno=TmpSno),
‘第二门’=(SELECTTOP2course、Cname
FROMsc,course
WHERESG、Cno=course、CnoANDsc、Snc=TmpSno
EXCEPTSELECTTOP1course、Cname
FROMsc,course
WHEREsc、Cno=course、CnoANDsc、Sno=TmpSno),
‘第三门'二(SELECTTOP3course.Cname
FROMsc,course
WHEREsc、Cno=course、CnoANDsc、Sno二TmpSno
EXCEPTSELECTTOP2course、Cname
FROMsc,course
WHEREsc、Cno=course、CnoANDsc、Sno=TmpSno),
第四门,二(SELECTTOP4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025三级互联网营销师练习测试题附答案
- 2025下半年教资笔试《综合素质》真题及答案
- 2026 年成教财务管理试题及答案
- 2026年《中华人民共和国传染病防治法》试题含答案
- 2026年二级建造师继续教育考试题库(完整版)
- 2026年传媒考试题库及答案详解
- 妇产科手术麻醉与护理技术
- 安静午休教学课件
- 《探究用实验报告自测核心素养》教案-2026-2027学年泰山版(新版)初中信息科技九年级全一册
- 儿童鲜红斑痣诊疗专家共识2026版
- 2025年MySQL数据类型试题及答案
- GB/T 34110-2025信息与文献文件(档案)管理核心概念与术语
- 2025年湖北行测试题及答案
- 四川雅碧江两河口水电站引水发电系统工程施工测量技术方案
- 《商法(第七版)》课件全套 赵万一
- 化学废液处理协议书范本
- 波动率微笑(宽客大师教你建模)
- AIGC提示词美学定义
- CJT156-2001 沟槽式管接头
- 高等工程数学笔记
- GB/T 1835-2023系列1集装箱角件技术要求
评论
0/150
提交评论