次のテーブルがあります
- 生徒(シド、スネーム、年齢)
- コース(cid、cname、期間)
- 登録 (sid、cid、日付)
sid = 1 が受講したコースを受講したすべての sid を検索します。
select sid from enroll where cid in (select cid from enroll where sid=1)
group by sid having count(*)=(select count(*) from enroll where sid=1)
minus (select sid from student where sid=1);
- 最初の count(*) は何を指していますか?
- クエリのより単純なバージョンはありますか?