作者supercygnus (......)
看板Database
标题[SQL ] 两层NOT EXISTS
时间Sun Oct 21 20:24:15 2012
SELECT S.SID,S.SName
FROM Student S
WHERE NOT EXISTS(
SELECT *
FROM Teacher TE, Take T1
WHERE TE.TName='Oxford John' AND TE.TID=T1.TID AND NOT EXISTS(
SELECT *
FROM Take T2
WHERE T2.SID=S.SID AND T2.CID=T1.CID))
上面是要找出有修Oxford John这位老师开的全部课程的学生的编号跟姓名
请问两层not exists到底要怎麽理解呢
要怎麽用资料表去推出来
我想了好久觉得一点都兜不上
请各位大大解答吧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.242.81
1F:推 moyasi:後面的not exists是找出没有修Oxford John开的课的人 10/22 09:36
2F:→ moyasi:上面的not exists就全部扣掉没有修Oxford John开的课的人 10/22 09:37
3F:→ moyasi:所以就是有修Oxford John开的课的人 10/22 09:37