-- 上過王魯的課
SELECT sname
FROM s
WHERE sno in (
SELECT DISTINCT sno
FROM sc
join c
on sc.cno = c.cno
JOIN t
on c.tno = t.tno
WHERE t.tname = '王魯'
)
-- 選了全部的課程
SELECT sname
FROM s
WHERE not EXISTS(
SELECT *
FROM c
WHERE not EXISTS(
SELECT *
FROM sc
WHERE sc.sno = s.sno and sc.cno = c.cno
)
)
-- 選了費玉奎 全部的課
SELECT sname
FROM s
WHERE not EXISTS(
SELECT *
FROM c,t
WHERE c.tno = t.tno and t.tname = '費玉奎' and not EXISTS(
SELECT *
FROM sc
WHERE sc.sno = s.sno and sc.cno = c.cno
)
)
-- 選了 1號老師 全部的課程
SELECT sname
FROM s
WHERE not EXISTS(
SELECT *
FROM c
WHERE c.tno = 1 and not EXISTS(
SELECT *
FROM sc
WHERE sc.sno = s.sno and sc.cno = c.cno
)
)