大学ごとの所属数の集計
データの準備が整ったので、データベースに対してSQL クエリを実行してみましょう。ここでは、列によるグループ化やテーブルの結合など、すでに学んだ概念を活用します。
この演習では、最も多くの所属(アフィリエーション)を持つ大学を「教授」を通じて特定します。後者が university_id を含むため、affiliations テーブルと professors テーブルの両方が必要です。
復習として、結合の基本構文を確認しておきましょう。
SELECT table_a.column1, table_a.column2, table_b.column1, ...
FROM table_a
JOIN table_b
ON table_a.column = table_b.column
この構文により、 table_a と table_b を組み合わせた、 table_a.column が table_b.column と一致する行のみの結果が得られます。
この演習はコースの一部です
SQL リレーショナルデータベース入門
演習の手順
- 大学ごとの所属数の合計を集計してください。
- その集計結果を降順で並び替えてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
-- Count the total number of affiliations per university
SELECT ___(*), professors.university_id
FROM ___
JOIN ___
ON affiliations.professor_id = professors.id
-- Group by the university ids of professors
GROUP BY professors.___
___ ___ count DESC;