mysql_多表查询

多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个 关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进 行关联。
一、出现笛卡尔积的错误
1.1 错误的原因:缺少了多表的连接条件
1.2 多表查询的正确方式:需要有连接条件
1.3 如果查询语句中出现了多个表中都存在的字段,则必须指明此字段所在的表。
1.4 可以给表起别名,在SELECT和WHERE中使用表的别名。
结论:如果有n个表实现多表的查询,则需要至少n-1个连接条件

二、多表查询的分类
角度1:等值连接 vs 非等值连接
角度2:自连接 vs 非自连接
角度3:内连接 vs 外连接
1.等值连接 vs 非等值连接
2.自连接 vs 非自连接
3.内连接 vs 外连接
4.UNION 和 UNION ALL的使用

三、7种SQL JOINS的实现

1.代码实现
2.语法格式小结
左中图
右中图
左下图
右下图

练习1:
练习二: