mysql中的关联查询

1.内连接查询
所有查询出的结果在连接的表中都有对应记录
select
e.empName,d.deptName
from t_employee e
INNER JOIN t_dept d
ON e.dept = d.id;
2.左外连接查询
以左边表的数据为基准,去匹配右边表的数据,如果匹配到就显示,匹配不到就显示null
SELECT e.empName,d.deptName
from t_employee e
LEFT OUTER JOIN t_dept d
on d.id = e.dept;
3.右外连接查询
同理。基准表的位置变化了
SELECT e.empName,d.deptName
from t_employee e
RIGHT OUTER JOIN t_dept d
on d.id = e.dept
4.全外连接
把两张表的字段都查出来,没有的对应显示null
select e.empName,d.deptName
FROM t_employee e
left JOIN t_dept d
ON e.dept = d.id
UNION
select e.empName,d.deptName
FROM t_employee e
RIGHT JOIN t_dept d
ON e.dept = d.id
5.自连接查询
当前表与自身的连接查询,关键点在于虚拟化出一张表给一个别名
SELECT e.empName,b.empName
from t_employee e
LEFT JOIN t_employee b
ON e.bossId = b.id


:https://blog.csdn.net/lu0422/article/details/78892497

你可能感兴趣的:(mysql中的关联查询)