[SQL ] 不確定where的條件對不對

看板Database作者 (shasta)時間17年前 (2008/07/15 20:19), 編輯推噓2(200)
留言2則, 1人參與, 最新討論串1/1
以下為一個ktv點歌系統的schema member( MID, MName ) 會員 (會員id,姓名)  ̄ song( SID, SName, singer ) 歌曲 (歌曲id, 歌名, 歌手)  ̄ order( MID, SID ) 會員點的歌曲 (會員id, 歌曲id) 關係為 M to N  ̄ ̄ ̄ ̄ 題目是 "請找出每一位會員必點的歌曲" (意思是 每個人都會點的歌是哪些) 請問可以這樣寫嗎? ------------------------------------------------------ 1 SELECT s.SID, s.SName, s.Singer 2 FROM song s, order o 3 WHERE 4 (Select count(distinct o.SID) FROM order o) = 5 (Select count(o2.MID) FROM order o2 GROUP BY o2.MID) 6 AND o.SID=s.SID 7 AND o.SID=o2.SID ; ------------------------------------------------------ 問題1 可以在where裡面用 (select a) = (select b) 去判定兩個value是否相等嗎? 問題2 我在第5行裡面用到的o2, 可以在第7行使用嗎? (我知道寫在第5行會比較保險 不過我想知道能不能寫在外面) 謝謝大家~!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.233.69.149

07/18 23:11, , 1F
我的經驗來說如果where寫在裡面跟外面結果一樣的話..
07/18 23:11, 1F

07/18 23:17, , 2F
寫在裡面會快一點
07/18 23:17, 2F
文章代碼(AID): #18V9NPzW (Database)