多表连接查询

语法要求

  1. 找到多张表之间的关联条件列

  2. 列书写时必须是:表名.列名

  3. 所涉及到的查询列都放在 SELECT 后

  4. 所有的过滤、分组、排序等条件都需按顺序写在 ON 的后面

  5. 对于多表连接中,驱动表选择数据行少的表,后续所有表的关联列尽量是主键或唯一键(表设计阶段),至少建立一个索引。

# 两张表的案例:
SELECT country.Name,
country.SurfaceArea,
city.Name,
city.Population
FROM city
JOIN country
ON city.CountryCode=country.Code
WHERE city.Population<100;

# 多张表的案例:
...
...
FROM t1
JOIN t2
ON t1.c1=t2.c1
JOIN t3
ON t2.c3=t3.c3

案例实战:

统计zhang3,学习了几门课?

查询zhang3,学习的课程名称有哪些?

查询oldguo老师教的学生名

查询oldguo所教课程的平均分数

每位老师所教课程的平均分,并按平均分排序

查询oldguo所教的不及格的学生姓名

查询所有老师所教学生不及格的信息

综合练习

Last updated