引用:
作者s0510510
(恕刪)
SELECT S_name
FROM Student,Take
WHERE Take.S# = = Student.S#
GROUP BY Student.S#
HAVING COUNT(*)>5
|
這個是考試用的解法 在SQL底下稱為Cross Join 對DB Server而言 這是一個很傷效能的做法可以不用就不用 可以的話 在下會建議閣下考完試最好就忘了他(另外 Cross Join跟在下上面回覆的SQL Injection是SQL初心者常常會沒處理好的問題 要當心)
如果真的因為正規化沒做好 得要用這麼複雜的敘述句 建議是仿student先進的回覆 用Inner Query來達成
引用:
作者student
select S_name from student where s# in (select s# distinct from Take group by s# having count(s#) > 4)
|