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
mysql中的关联查询
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 一、Hibernate查询 查询概述Get/load主键查询对象导航查询HQL查询 : Hibernate Qu...