数据库实验实验七 数据查询实验报告 答案.docx

上传人:b****0 文档编号:18220353 上传时间:2023-08-14 格式:DOCX 页数:12 大小:387.58KB
下载 相关 举报
数据库实验实验七 数据查询实验报告 答案.docx_第1页
第1页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第2页
第2页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第3页
第3页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第4页
第4页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第5页
第5页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第6页
第6页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第7页
第7页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第8页
第8页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第9页
第9页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第10页
第10页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第11页
第11页 / 共12页
数据库实验实验七 数据查询实验报告 答案.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库实验实验七 数据查询实验报告 答案.docx

《数据库实验实验七 数据查询实验报告 答案.docx》由会员分享,可在线阅读,更多相关《数据库实验实验七 数据查询实验报告 答案.docx(12页珍藏版)》请在冰点文库上搜索。

数据库实验实验七 数据查询实验报告 答案.docx

数据库实验实验七数据查询实验报告答案

实验7数据查询

【实验内容】

7.1单表查询

1、   指定列或全部列查询

1)        查询S表中全体学生的详细记录。

usejxskselect*fromS

2)        查询所有学生的姓名及其出生年份。

usejxskselectSN,2012-AGEfromS

2、   按条件查询及模糊查询

1)        查询考试成绩有不及格的学生的学号。

usejxskselectdistinctSNOfromSCwhereSCORE<60

2)        查询年龄在20—23岁之间的学生的姓名、系名和年龄。

usejxskselectSN,DEPT,AGEfromS

whereAGE>=20andAGE<=30

3)        查询姓李的学生的姓名、学号和性别。

usejxskselectSN,SNO,SEXfromS

whereSNlike'李%'

4)        查询名字中第二个字为“明”字的男学生的姓名和系名。

usejxskselectSN,DEPTfromS

whereSNlike'_%明'andSEX='男'

3、   对查询结果排序

1)        查询信息系、计算机系学生的姓名、系名,结果按系名升序,按姓名降序排序。

usejxskselectSN,DEPT

fromS

whereDEPT='信息'ORDEPT='计算机'

orderbyDEPT,SNDESC

2)        查询所有有课程号C2成绩的学生的学号、课程号和成绩,并按成绩降序排序。

usejxskselectSNO,CNO,SCORE

fromSC

whereCNO='C2'andSCOREisnotnull

orderbySCOREDESC

4、   使用聚集函数的查询

1)        查询计算机系学生总人数。

usejxskselectCOUNT(*)

fromS

whereDEPT='计算机

2)        查询选修了微机原理课程的学生人数、平均成绩和最高成绩。

usejxskselectCOUNT(*),AVG(SCORE),MAX(SCORE)

fromC,SC

whereCN='微机原理'andC.CNO=SC.CNO

5、   分组统计查询

1)        查询各个课程号及相应的选择人数。

usejxskselectCNO,COUNT(SNO)as人数

fromSC

groupby(CNO)

2)        查询选修了两门以上课程的学生姓名和平均成绩。

usejxskselectSN,AVG(SCORE)

fromS,SC

whereS.SNO=SC.SNO

groupby(S.SN)

havingCOUNT(*)>2

7.2连接查询

1、   连接查询

1)        查询所有选课学生的学号、姓名、选课名称及成绩。

 

usejxskselectSN,S.SNO,CN,SCORE

fromS,SC,C

whereS.SNO=SC.SNOandC.CNO=SC.CNO

2)        查询每门课程的课程号、任课教师姓名及其选课人数。

usejxskselectC.CNO,TN,COUNT(SC.SNO)

fromSC,C,T,TC

whereC.CNO=SC.CNOAND

T.TNO=TC.TNOAND

C.CNO=TC.CNO

groupbyC.CNO,T.TN

2、   自身连接

1)        查询所有比“刘伟”工资高的教师的姓名、工资以及刘伟的工资。

usejxskselectX.TN,X.SAL,Y.SAL

fromTASX,TASY

whereX.SAL>Y.SALANDY.TN='刘伟'

2)        查询同时选修了“程序设计”和“微机原理”的学生的姓名、课程名。

usejxskselectdistinctSN,C1.CN,C2.C

fromCASC1,CASC2,SCASSC1,SCASSC2,S

whereC1.CNO=SC1.CNOAND

C2.CNO=SC2.CNOAND

C1.CN='程序设计'AND

C2.CN='微机原理'AND

SC1.SNO=SC2.SNOAND

SC1.SNO=S.SNO

3、   外连接

查询所有学生的学号、姓名、选课名称及成绩(没有选课的学生的选课信息显示为空)。

usejxsk

selectS.SNO,SN,CN,SCORE

fromS

LEFTOUTERJOINSC

ONS.SNO=SC.SNO

LEFTOUTERJOINC

ONC.CNO=SC.CNO

7.3嵌套查询

1、   返回一个值的子查询

查询与“刘伟”教师职称相同的教师号、姓名和职称。

usejxskselectTNO,TN,PROF

fromT

where(PROF=(selectPROFfromT

whereTN='刘伟')

2、   返回一组值的子查询

1)        使用ANY谓词查询讲授课程号为C5的教师姓名。

usejxskselectTN

fromT

where(TNO=ANY

(selectTNOfromTC

whereCNO='C5'))

2)        使用IN谓词查询讲授课程号为C5的教师姓名。

usejxskselectTN

fromT

where(TNOIN

(selectTNOfromTC

whereCNO='c5'))

3)        使用ALL谓词查询其他系中比计算机系所有教师工资都高的教师的姓名、工资和所在系。

usejxskselectTN,SAL,DEPT

fromT

where(SAL>ALL

(selectSALfromT

whereDEPT='计算机')AND

(DEPT<>'计算机')

4)        使用EXISTS谓词查询没有讲授课程号为C5的课程的教师姓名、所在系。

usejxskselectTN,DEPT

fromT

where(NOTEXISTS

(select*fromTC

whereTNO=T.TNOANDCNO='C5'))

5)        使用NOTEXISTS谓词查询至少选修了学生S2选修的全部课程的学生的学号。

usejxskselectDISTINCTSNO

fromSCSCX

whereNOTEXISTS

(select*fromSCSCY

whereSCY.SNO='S9'ANDNOTEXISTS

(select*fromSCSCZ

whereSCZ.SNO=SCX.SNOAND

SCZ.CNO=SCY.CNO))

7.4集合查询

1、   查询年龄不大于19岁或者属于计算机系的学生。

(使用UNION)

usejxskselect*fromS

whereDEPT='计算机'

union

select*fromS

whereAGE<19

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2