简介
多表连接查询是指查询多张表,将多张表的数据结合起来返回,查询的方式一共有三种: 内连接,左外连接,右外连接
后面将根据下面的表A和表B这两张表来解释他们三个的意思分别是什么
表A
id | title |
---|---|
1 | 前端 |
2 | 后端 |
3 | 运营 |
表B
id | title | parentId |
---|---|---|
11 | java | 2 |
12 | js | 1 |
13 | mysql | null |
内连接
查询出的结果是多张表中互相有关联的数据。
表A中 title
为 运营
的数据和表B中 title
为 mysql
的数据和另一张表格没有任何关系,因此查询结果中不会包含这两条数据,而其他数据和另一张表有联系因此会被返回。
结果是 前端
后端
运营
java
js
mysql
左外连接
以左边的表也就是表A为依据,最终返回表A所有数据+表B中和表A有联系的数据。
结果是 前端
后端
运营
java
js
select *
from edu_category t1
left join edu_category t2 on t2.parent_id = t1.id
where t1.title = 'java'
右外连接
以右边的表也就是表B为依据,最终返回表B所有数据+表A中和表B有联系的数据。
结果是 java
js
mysql
前端
后端