教材上的例题:
1. 查询清华大学出版社出版图书的书名和作者。
2. 查询Book表中的书名,作者,价格。
3. 查询Book表中的全部数据。
4. 查询每一本书九折后的价格。
2. 加常量:SELECT name,’birthdate’,birthdate FROM Reader
3. 指定列名:SELECT book_ID AS 编号,name AS 姓名,author AS 作者 FROM Book
4. Where子句:查询价格大于30元的图书的全部信息
5. 查询所有的女读者的信息
6. 查询图书价格在30到50元之间的图书
7. 查询“机械工业出版社”或者“清华大学出版社”出版的图书
8. 查询图书价格在25到50元之间的图书
9. 图书价格不在20到30元之间的图书
10. 查“机械工业出版社”,“清华大学出版社”,“高等教育出版社”出版的全部图书
11. 查不是“机械工业出版社”,“清华大学出版社”,“高等教育出版社”出版的全部图书
12. 查询姓全部“王”的读者的信息。
13. 查询名字是两个字的姓“王”的读者的信息
14. 查询名字中带有“晓”字的人的信息
15. 查询所有不姓张的读者的信息
16. 查询性别为空的读者的信息
17. 查询出生日期不为空的读者的姓名
18. order by子句:查询读者的信息按出生日期的升序显示
19. 查询读者的信息按出生日期的“降序”显示
20. 查询图书的信息,查询结果按照出版社的名称升序排序,同一出版社的按照价格的降序排序。
21. 统计全部图书的平均价格
22. 查询最高的图书价格
23. 统计读者的总人数
24. 统计“清华大学出版社”出版图书的数目
25. 分组子句:统计每个出版社的出版图书的数目
26. 统计每个出版社的出版图书的数目。
27. 统计每个人所借图书的数目。
28. 统计每个出版社出版图书的平均价格,并显示每个出版社的名称
29. 查询所借图书的数目多余2本的读者编号,并显示所借图书的数目。
30. 查询出版图书多余3本的出版社名称和出版图书数目
31. 查询查询售价最高的图书的名称
32. 查询售价比平均售价高的图书的名称
33. 查询与“数据库原理”在同一出版社的图书信息
34. 查询王旭所借图书的图书编号
35. 查询“王旭”所借的图书的名称
36. 查询价格最低的图书信息
37. 查询书价最高的图书的信息
38. 查询已经借阅了图书的读者的姓名
39. 已经被借出的图书的信息
40. sql统计每个系的学生人数查询2005120日所借出的图书的信息
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. 查询全体学生的姓名、出生年份、所在系,且要求用小写字母表示所有系名
select sname,’year of birth’,2005-sage,islower(sdept) from student
select sname NAME, ‘year of birth’, BIRTH,2005-sage BIRTHDAY,islower(sdept) DEPARTMENT from student
6. (消除重复行)查询选修了课程的学生学号
二、针对Where子句
7. 查询计算机系所有学生
8.查询所有年龄在20岁以下的学生姓名及其年龄
9.查询考试成绩不及格的学生学号
10.查询年龄在2023岁之间的学生的姓名、年龄和系别
11.查询年龄不在2023岁之间的学生姓名、年龄和系别
12.查询信息系、数学系和计算机系的学生的姓名和性别
13.查询既不是信息系、数学系,也不是计算机系的学生的姓名和性别
14.查询学号为95001的学生的详细情况(可用like做)
15.查询所有姓刘的学生的姓名、学号和性别
16.查询姓李且全名为三个汉字的学生的姓名
17.查询名字中第二个字为阳字的学生的姓名和学号
18.查询所有不姓刘的学生姓名
19.查询DB_Design课程的课程号和学分
select Cno,Ccredit from Course where Cname like ‘DB\_Design’ ESCAPE’\’
20. 查询以“DB_”开头,且倒数第3个字符为i的课程的详细情况
    select *from course  where Cname like ‘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.查询计算机系学生的选课情况,要求列出学生的名字、所修课的课程号和成绩
select student.sno,cno,grade from student join sc on student.sno =sc.sno
where sdept=’计算机系
39.查询信息系选修VB课程的学生的成绩,要求列出学生姓名、课程号和成绩
    select sname,sco,grade from student s join sc on s.sno=sc.sno join course c on sco=co where sdept=’信息系’ and cname=’VB’
40.查询所有选修了VB课程的学生的情况,要求列出学生姓名和所在的系
select sname,sdept from student s join sc on s.sno=sc.sno join course c on co=sco where cname=’VB’
41.(自连接)查询与刘晨在同一系学习的学生的姓名和所在的系
select s2.sname,s2.sdept from student s1 join student s2 on s1.sdept=s2.sdept where s1.sname=’刘晨’and s2.sname!=’刘晨
42.(外连接)查询学生的选课情况,包括选修课程的学生和没有选修课程的学生
select student.sno,sname,cno,grade from student left join sc on student.sno=sc.sno
43.(左外连接)显示20岁学生的基本信息和选课信息(课程名,分数)
七、子查询
43.(基于集合的测试)查询与刘晨在同一系的学生
select sno,sname,sdept from student where sdept in
(select sdept from student where sname=’刘晨’)