作者shastar (shasta)
看板Database
标题[SQL ] 不确定where的条件对不对
时间Tue Jul 15 20:19:36 2008
以下为一个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
1F:推 arianda:我的经验来说如果where写在里面跟外面结果一样的话.. 07/18 23:11
2F:推 arianda:写在里面会快一点 07/18 23:17