私は来週、データベースについて実践的な大学を持っています。大学のスキームを中心に15個のクエリを作成する必要があります。これは次のようになります。
- Student(Student_No、First_Name、Last_Name、Sex、Date-Of-Birth、Address、Level、Degree_Code)
- Degree(Degree_Code、Degree_Name、School_Name)
- Module(Module_Code、Module_Title、School_Name)
- 学校(School_Name、Faculty、Head-of-School)
- Take_Exam(Student_No、Module_Code、Mark)
14のクエリを完了しましたが、これに固執しています。
- すべてのモジュールを受講する学生の名前を取得します。(ヒント使用は存在しません)。
私は存在しないクエリを読んでいますが、どこから始めればよいのかさえわかりません!私はこのコードを作成しました:
select students.student_no, fname, lname, count(module_code)
from students left join take_exam using (student_no)
group by student_no
having count(module_code) < 19
order by lname;
これにより、19のモジュールすべてを受講しないすべての学生が返されます。ただし、コードが19未満であるため、コードが嫌いです。つまり、モジュールの数が後で変更された場合、この値を変更する必要があり、非効率的です。
誰かが私を正しい方向に向けて、「存在しない」クエリの使用に関するガイダンスを教えてもらえますか?
ありがとう、アンドリュー