第四章****题参考解答
4.2题 对于教学数据库的3个基本表:
S(SNO,SNAME,AGE,SEX,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,CDEPT,TNAME)
试用SQL的查询语句表达下列查询:
检索LIU老师所授课程的课程号和课程名.
检索年龄大于23岁的男同学的学号和姓名。
检索学号为 S3的 学生呢个所学课程的课程名和任课教师名。
检索至少选修LIU老师所授课程中一门课程的女学生姓名.
检索WANG同学不学的课程的课程号。
检索至少选修两门课程的学生学号。
检索全部学生都选修的课程的课程号与课程名。
检索选修课程包含LIU老师所授课程的学生学号。
解:(1)SELECT CNO,CNAME
FROM C
WHERE TNAME=‘LIU';
(2)SELECT SNO,SNAME
FROM S
WHERE AGE〉23 AND SEX=‘M';
(3)SELECT CNAME,TNAME
FROM C WHERE CNO IN
(SELECE CNO
FROM SC
WHERE SNO=’S3'));
(4)联接查询方式
SELECT SNAME
FROM S,SC,C
WHERE =SC。SNO AND =C。CNO AND SEX='F’ AND TNAME='LIU’;
嵌套查询方式:
SELECT SANME
FROM S
WHERE SEX=’F’ AND SNO IN
(SELECT SNO
FROM SC
WHERE CNO IN
(SELECT CNO
FROM C
WHERE TNAME=’LIU’));
存在量词方式:
SELECT SNAME
FROM S
WHERE SEX=’F’ AND EXISTS
(SELECT *
FROM SC
WHERE SNO=S。SNO AND EXISTS
(SELECT *
FROM C
WHERE CNO=
AND TNAME='LIU’));
(5)SELECT CNO
FROM C
WHERE CNO NOT IN
(SELECT CNO
FROM SC
数据库第四章习题参考解答 来自淘豆网www.taodocs.com转载请标明出处.