mySql多表查询总结 (需要有一定的sql基础)
- 简单的多表查询
1.1. 多表查询语法
select 字段1,字段2... from 表1,表2... [where 条件]
例子: 查询人员和部门所有信息
select * from person, dept where person.did = dept.did;
- 多表链接查询
2.1. 多表连接查询语法(重点)
SELECT 字段列表
FROM 表1 INNER|LEFT|RIGHT JOIN 表2
ON 表1.字段 = 表2.字段;
2.2. 内连接 - 查询人员和部门所有信息
select * from person inner join dept on person.did = dept.did;
内连接查询与多表联合查询的效果是一样的.
2.3. 左外连接查询 (左边表中的数据优先全部显示)
查询人员和部门所有信息
select * from person left join dept on person.did =dept.did;
效果:人员表中的数据全部都显示,而 部门表中的数据符合条件的才会显示,不符合条件的会以 null 进行填充.
2.4. 右外连接查询 (右边表中的数据优先全部显示)
#查询人员和部门所有信息
select * from person right join dept on person.did =dept.did;
2.5. 全连接查询(显示左右表中全部数据)
全连接查询:是在内连接的基础上增加 左右两边没有显示的数据
注意: mysql并不支持全连接 full JOIN 关键字