题目
设有一个数据库中有三个关系:
字生关系S(S#,SNAME,AGE,SEX)
课程关系C(C#,CNAME,TEACHER)
学习关系SC(s#,C#,GRADE)
你能书写出下列SQL语句吗?(使用Exists子查询)
1)找出学过“程军”老师讲课程的所有学生;
2)找出没学过“程军”老师讲授课程的所有学生。
答案
1)找出学过“程军”老师讲课程的所有学生;
SELECT SNAME
FROM S,SC
WHERE SNAME EXISTS (
SELECT *
FROM SC,C
WHERE SC.C#=C.C#
AND TEACHER='程军')
2)找出没学过“程军”老师讲授课程的所有学生。
SELECT SNAME
FROM S,SC
WHERE SNAME NOT EXISTS (
SELECT *
FROM SC,C
WHERE SC.C#=C.C#
AND TEACHER='程军')