これが私のテーブルです
Student (sname, sid, gpa, level, deptno)
Course (cno, cname, deptno, units)
Dept (dname, deptno)
Takes (sid, cno)
学科内よりも学科外でより多くのコースを受講した学生の名前 (つまり、snames) を返す SQL クエリを作成します。データベース内のすべての学生が、学科内で少なくとも 1 つのコースを受講したと仮定できます。
この質問に対する解決策は探していませんが、回答は歓迎します。しかし、このような複雑なクエリを作成する手順を生成する方法を人々が教えてくれることを願っています..
私の答えは
Select S.sname
From Student S, Course C, Dept D, Takes T
Where T.cno=C.cno and D.deptno=C.deptno and S.sid = T.sid
Having COUNT(S.deptno=C.deptno) > COUNT( S.deptno != C.deptno)
このように HAVING の後にカウントを使用できるかどうかはわかりません。ありがとう