3-2对于教务管理数据库的三个基本表S(SNO,SNAME,SEX,AGE,SDEPT)SC(O,GRADE)AME,CDEPT,TNAME)试用SQL的查询语句表示下列查询:⑴检索LIU老师所授课程的课程号和课程名。⑵检索年龄大于23岁的男学生的学号和姓名。⑶检索学号为15146的学生所学课程的课程名和任课教师名。⑷检索至少选修LIU老师所授课程中一门课程的女学生姓名。⑸检索WANG同学不学的课程的课程号。⑹检索至少选修两门课程的学生学号。⑺检索全部学生都选修的课程的课程号与课程名。⑻检索选修课程包含LIU老师所授课程的学生学号。解:⑴SELECTC#,CNAMEFROMCWHERETEACHER=’LIU’;⑵SELECTS#,SNAMEFROMSWHEREAGE>23ANDSEX=’M’;⑶AME,TEACHERFROMSC,#=#ANDS#=’15146’⑷SELECTSNAME(连接查询方式)FROMS,SC,#=##=#ANDSEX=’F’ANDTEACHER=’LIU’;或:SELECTSNAME(嵌套查询方式)FROMSWHERESEX=’F’ANDS#IN(SELECTS#FROMSCWHEREC#IN(SELECTC#FROMCWHERETEACHER=’LIU’))或:SELECTSNAME(存在量词方式)FROMSWHERESEX=’F’ANDEXISTS(SELECT*#=#ANDEXISTS(SELECT*#=#ANDTEACHER=’LIU’))⑸SELECTC#FROMCWHERENOTEXISTS(SELECT*FROMS,#=##=#ANDSNAME=’WANG));⑹#FROMSCASX,#=##!=#;⑺SELECTC#.CNAMEFROMCWHERENOTEXISTS(SELECT*FROMSWHERENOTEXISTS(SELECT*FROMSCWHERES#=#ANDC#=#));⑻SELECTDISTINCTS#FROMSCASXWHERENOTEXISTIS(SELECT*FROMCWHERETEACHER=’LIU’ANDNOTEXISTS(SELECT*#=##=#));3-、SC、C查询:⑴统计有学生选修的课程门数。⑵求选修4号课程的学生的平均年龄。⑶求LIU老师所授课程的每门课程的学生平均成绩。⑷统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。⑸检索学号比WANG同学大,而年龄比她小的学生姓名。⑹检索姓名以WANG打头的所有学生的姓名和年龄。⑺在SC中检索成绩为空值的学生学号和课程号。⑻求年龄大于女同学平均年龄的男学生姓名和年龄。⑼求年龄大于所有女同年龄的男学生姓名和年龄。解:⑴SELECTCOUNT(D
数据库第三章习题参考答案 来自淘豆网www.taodocs.com转载请标明出处.