※ 引述《Antzzz (減肥中請勿餵食)》之銘言:
: ※ 引述《wskevin (kevin)》之銘言:
: : 其表格schema為:
: : Member(MID,Password,Mname,Grade,Tel,Address)
: : Song(SID,SName,Singer)
: : MemberSong(MID,SID)
: : SQL指令如下:
: : SELECT *
: : FROM Song
: : WHERE NOT EXISTS(
: : SELECT *
: : FROM Member
: : WHERE NOT EXISTS(
: : SELECT *
: : FROM MemberSong
: : WHERE Song.SID=MemberSong.SID AND Member.MID=MemberSong.MID)
: : )
: : )
: : 小弟我是初學者,
: : 如果是一個子查詢,還可以大慨知道是什麼意思,
: : 可是兩個子查詢,想破頭還是看不懂,
: : 有沒有版上的高手可以指點一下,感激不盡,
: : 謝謝~~~
: 選出對應到全部的Member的Song
: 也就是說
: 假設Member有A、B、C
: Song有01、02
: 01對應到A、B、C
: 02對應到A而已
: 則選出Song 01
: 但如果今天又insert了一個新的Member D
: 則全部的song都不會被選到,因為沒有Song對應到這個Member
: 然後再insert Song 01對應到D的關係到MemberSong對應表的話
: Song 01又會被選出來
: 其實自己填資料測最容易懂
請問兩個not exist 如何達到上述效果
感覺邏輯不是SELECT * FROM Song 中選到的資料 一筆一筆帶入第一個
not exist 但一個 not exist 下還有一個 not exist 所以把一筆
SELECT * FROM Song 中選到的資料與一筆SELECT * FROM Member
中選到的資料帶入循環帶入確定 都沒有?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.224.119.142