按大学统计 affiliation 数量
既然数据已经可以用于分析了,我们来对数据库运行一些示例 SQL 查询。您将用到已学过的概念,比如按列分组和连接表。
在本练习中,您需要找出哪所大学的 affiliation(通过其教授)最多。为此,您需要同时使用 affiliations 和 professors 两张表,因为后者也包含 university_id。
快速回顾一下,连接的基本结构如下:
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 关系型数据库入门
练习说明
- 按大学统计总的 affiliation 数量。
- 按该计数降序排序结果。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- 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;