简介

多表连接查询是指查询多张表,将多张表的数据结合起来返回,查询的方式一共有三种: 内连接,左外连接,右外连接

后面将根据下面的表A和表B这两张表来解释他们三个的意思分别是什么
表A

id title
1 前端
2 后端
3 运营

表B

id title parentId
11 java 2
12 js 1
13 mysql null

内连接

查询出的结果是多张表中互相有关联的数据。
表A中 title运营 的数据和表B中 titlemysql 的数据和另一张表格没有任何关系,因此查询结果中不会包含这两条数据,而其他数据和另一张表有联系因此会被返回。
结果是 前端 后端 运营 java js mysql

左外连接

以左边的表也就是表A为依据,最终返回表A所有数据+表B中和表A有联系的数据。
结果是 前端 后端 运营 java js

  1. select *
  2. from edu_category t1
  3. left join edu_category t2 on t2.parent_id = t1.id
  4. where t1.title = 'java'

右外连接

以右边的表也就是表B为依据,最终返回表B所有数据+表A中和表B有联系的数据。
结果是 java js mysql 前端 后端