-4

データベース モデリング コースの次のスキーマを検討してください。

DEPARTMENT (やった、名前)、

COURSE (cid, did, name, num, creditHours),

STUDENT (sid、fname、lname、did)

ENROLLED_IN (eid、sid、cid)

すべての COMP コース (DEPARTMENT.name="COMP") に登録しているすべての学生の姓名をリストします。

4

2 に答える 2

0

GROUP BY を HAVING 句とともに使用して、登録されている COMP コースの数をアサートします。

SELECT s.fname, s.lname
FROM STUDENT s
JOIN ENROLLED_IN e ON s.sid = e.sid
JOIN COURSE c ON e.cid = c.cid
JOIN DEPARTMENT d ON c.did = d.did
WHERE d.name = 'COMP'
GROUP BY 1, 2
HAVING COUNT(*) = (
    SELECT COUNT(*)
    FROM COURSE c
    JOIN DEPARTMENT d ON c.did = d.did
    WHERE d.name = 'COMP')
于 2013-09-19T20:50:13.570 に答える
0

結合してこれを試してください

SELECT s.* FROM STUDENT s
JOIN ENROLLED_IN e ON (s.sid = e.sid)
JOIN DEPARTMENT d ON(s.did = d.did)
JOIN COURSE c ON(d.did = c.did)
WHERE d.name="COMP"
于 2013-09-19T20:18:30.173 に答える