DQL数据查询习题与知识总结Word格式.docx
《DQL数据查询习题与知识总结Word格式.docx》由会员分享,可在线阅读,更多相关《DQL数据查询习题与知识总结Word格式.docx(30页珍藏版)》请在冰豆网上搜索。
![DQL数据查询习题与知识总结Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/f4843350-1d30-4c13-929d-5131483e3b44/f4843350-1d30-4c13-929d-5131483e3b441.gif)
9.图书价格不在20到30元之间的图书
10.查找“机械工业出版社”,“清华大学出版社”,“高等教育出版社”出版的全部图书
11.查找不是“机械工业出版社”,“清华大学出版社”,“高等教育出版社”出版的全部图书
12.查询姓全部“王”的读者的信息。
13.查询名字是两个字的姓“王”的读者的信息
14.查询名字中带有“晓”字的人的信息
15.查询所有不姓张的读者的信息
16.查询性别为空的读者的信息
17.查询出生日期不为空的读者的姓名
18.orderby子句:
查询读者的信息按出生日期的升序显示
19.查询读者的信息按出生日期的“降序”显示
20.查询图书的信息,查询结果按照出版社的名称升序排序,同一出版社的按照价格的降序排序。
21.统计全部图书的平均价格
22.查询最高的图书价格
23.统计读者的总人数
24.统计“清华大学出版社”出版图书的数目
25.分组子句:
统计每个出版社的出版图书的数目
26.统计每个出版社的出版图书的数目。
27.统计每个人所借图书的数目。
28.统计每个出版社出版图书的平均价格,并显示每个出版社的名称
29.查询所借图书的数目多余2本的读者编号,并显示所借图书的数目。
30.查询出版图书多余3本的出版社名称和出版图书数目
31.查询查询售价最高的图书的名称
32.查询售价比平均售价高的图书的名称
33.查询与“数据库原理”在同一出版社的图书信息
34.查询王旭所借图书的图书编号
35.查询“王旭”所借的图书的名称
36.查询价格最低的图书信息
37.查询书价最高的图书的信息
38.查询已经借阅了图书的读者的姓名
39.已经被借出的图书的信息
40.查询2005年1月20日所借出的图书的信息
41.查询每个读者所借的图书的信息,要求显示读者姓名,图书名称,借出日期
42.查询’王旭’所借图书的书名
43.显示所有读者的借阅情况(包括没借书的读者),显示读者编号,读者姓名,图书编号
44.显示所有读者的借阅情况(包括没借书的读者和没被借的图书),显示读者编号、读者姓名、图书编号、书名和借阅日期。
45.所有图书的价格打8折
46.所有“清华大学出版社”的图书加价15%
47.将王旭所借图书的日期更改为2009-5-1
48.创建一个新表‘清华大学出版图书表’并将清华大学出版社出版的图书添加到此表中。
49.删除王旭的借阅纪录
50.删除价格大于100元的图书
51.删除Book表中的全部数据
52.并查询:
查询清华大学出版社出版的和价格高于25的图书信息。
53.查询出版图书平均价格多余25元的出版社
54.查询出版社之间最低的平均价格
数据查询练习题:
一、针对列名列表:
5.查询全体学生的学号与姓名
6.查询全体学生的姓名、学号、所在系
7.查询全体学生的详细记录
8.查询全体学生的姓名及出生年份
9.查询全体学生的姓名、出生年份、所在系,且要求用小写字母表示所有系名
selectsname,’yearofbirth’,2005-sage,islower(sdept)fromstudent
selectsnameNAME,‘yearofbirth’,BIRTH,2005-sageBIRTHDAY,islower(sdept)DEPARTMENTfromstudent
6.(消除重复行)查询选修了课程的学生学号
二、针对Where子句
7.查询计算机系所有学生
8.查询所有年龄在20岁以下的学生姓名及其年龄
9.查询考试成绩不及格的学生学号
10.查询年龄在20-23岁之间的学生的姓名、年龄和系别
11.查询年龄不在20-23岁之间的学生姓名、年龄和系别
12.查询信息系、数学系和计算机系的学生的姓名和性别
13.查询既不是信息系、数学系,也不是计算机系的学生的姓名和性别
14.查询学号为95001的学生的详细情况(可用like做)
15.查询所有姓刘的学生的姓名、学号和性别
16.查询姓李且全名为三个汉字的学生的姓名
17.查询名字中第二个字为阳字的学生的姓名和学号
18.查询所有不姓刘的学生姓名
19.查询DB_Design课程的课程号和学分
selectCno,CcreditfromCoursewhereCnamelike‘DB\_Design’ESCAPE’\’
20.查询以“DB_”开头,且倒数第3个字符为i的课程的详细情况
select*fromcoursewhereCnamelike‘DB\_%i__’ESCAPE’\’
21.查询缺少成绩的学生的学号和相应的课程号
22.查询所有有成绩的学生的学号和课程号
23.查询计算机系年龄20岁以下的学生姓名
三、排序子句
24.查询选修了3号课程的学生的学号及成绩,查询结果按分数的降序排列。
25.查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。
四、集函数
26.查询学生的总人数
27.查询选修了课程的学生人数
28.计算1号课程的学生平均成绩
29.查询选修1号课程的学生最高分数和最低分数。
五、分组子句
15.查询清华大学出版社出版的书的平均价格
16.查询每个出版社的平均价格
30.求各个课程号及相应的选课人数。
31.查询每名学生的选课门数和平均成绩。
32.查询选修了3门以上课程的学生学号。
33.查询选课门数等于或大于4门的学生的平均成绩和选课门数
六、多表连接查询
34.查询每个学生及其选修课程的情况
35.去掉重复列
36.查询选修2号课程且成绩在90分以上的所有学生
37.查询每个学生的学号、姓名、选修的课程及成绩
38.查询计算机系学生的选课情况,要求列出学生的名字、所修课的课程号和成绩
selectstudent.sno,cno,gradefromstudentjoinsconstudent.sno=sc.sno
wheresdept=’计算机系’
39.查询信息系选修VB课程的学生的成绩,要求列出学生姓名、课程号和成绩
selectsname,o,gradefromstudentsjoinscons.sno=sc.snojoincoursecono=owheresdept=’信息系’andcname=’VB’
40.查询所有选修了VB课程的学生的情况,要求列出学生姓名和所在的系
selectsname,sdeptfromstudentsjoinscons.sno=sc.snojoincoursecono=owherecname=’VB’
41.(自连接)查询与刘晨在同一系学习的学生的姓名和所在的系
selects2.sname,s2.sdeptfromstudents1joinstudents2ons1.sdept=s2.sdeptwheres1.sname=’刘晨’ands2.sname!
=’刘晨’
42.(外连接)查询学生的选课情况,包括选修课程的学生和没有选修课程的学生
selectstudent.sno,sname,cno,gradefromstudentleftjoinsconstudent.sno=sc.sno
43.(左外连接)显示20岁学生的基本信息和选课信息(课程名,分数)
七、子查询
43.(基于集合的测试)查询与刘晨在同一系的学生
selectsno,sname,sdeptfromstudentwheresdeptin
(selectsdeptfromstudentwheresname=’刘晨’)
44.查询成绩大于90分的学生的学号和姓名。
Selectsno,snameformstudentwheresnoin
(selectsnofromscwheregrade>
90)
45.查询选修了“数据库基础”课程的学生的学号和姓名
selectsno,snameformstudentwheresnoin
(selectsnofromscwherecnoin
(selectcnofromcoursewherecname=’数据库基础’))
或:
selectstudent.sno,snamefromstudentjoinsconstudent.sno=sc.snojoincourseono=owherecname=’数据库基础’
46.(使用子查询进行比较测试)查询选修了课程‘C02’且成绩高于此课程的平均成绩的学生的学号和成绩
selectsno,gradefromscwherecno=’c02’andgrade>
(selectavg(grade)fromscwherecno=’c02’)
47.(使用子查询进行存在性测试)查询选修了课程“C01”的学生姓名
selectsnamefromstudent
whereexists
(select*fromscwheresno=student.snoandcno=’c01’)
selectsnamefromstudentjoinsconsc.sno=student.sno
wherecno=’c01’
48.查询没有选修课程‘c01‘的学生姓名和所在系
selectsname,sdeptfromstudent
wherenotexists
综合练习
1.查询成绩在70-80分之间的学生的学号、课程号和成绩
2.查询计算机系年龄在18-20之间且性别为“男”的学生的姓名和年龄
3.查询课程号为“c01”的课程的最高分数
4.查询计算机系学生的最大年龄和最小年龄
5.统计每个系的学生人数
6.统计每门课程的选课人数和考试最高分
7.统计每个学生的选课门数和考试总成绩,并按选课门数的升序显示结果。
8.查询总成绩超过200分的学生,要求列出学号、总成绩
9.查询选修了课程“c02”的学生的姓名和所在系
10.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果
11.查询哪些课程没有人选修,要求列出课程号和课程名
12.查询选修了课程“c01”的学生的姓名和所在系
13.查询数学系成绩在