作者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