连接查询
内联连
关键词
-
inner join…on
inner join...on
格式
-
表1 inner join 表2 on 表1.列 = 表2.列
表1 inner join 表2 on 表1.列 = 表2.列
例子
-
员工表关联部门表进行联表查询
思路: select * from 员工表 inner join 部门表 on 员工表.外键列 = 部门表.主键列 代码: select * from employee inner join department on employee.department_id = department.id
外连接
左外
-
关键词
-
left join…on
left join...on
-
-
格式
-
表1 left join 表2 on 表1.列 = 表2.列
表1 left join 表2 on 表1.列 = 表2.列
-
-
例子
-
员工表关联部门表进行左外连接查询
思路: select * from 员工表 left join 部门表 on 员工表.外键列 = 部门表.主键列 代码: select * from employee left join department on employee.department_id = department.id
-
右外
-
关键词
-
right join…on
right join...on
-
-
格式
-
表1 right join 表2 on 表1.列 = 表2.列
表1 right join 表2 on 表1.列 = 表2.列
-
-
例子
-
员工表关联部门表进行右外连接查询
思路: select * from 员工表 right join 部门表 on 员工表.外键列 = 部门表.主键列 代码: select * from employee right join department on employee.department_id = department.id
-
连接的特点
左表与右表的区分
-
连接的格式
-
表1 ??? 表2
-
???代表了
- inner join
- left join
- right join
-
-
左表
-
连接符号左边的表,是左表
- 上面例子中表1就是左表
-
连接符号右边的表,是右表
- 上例中表2就是右表
-
查询案例数据
员工表
部门表
内连接
-
当左表与右表的数据 满足了on所指出的条件时,结果才会出来
- 当员工表的部门id 与 部门表的主键id确实一样时,数据才会显示出来
-
当左表与右表的数据 无法满足on所指出的条件,那么就不显示
-
例子
左连接
-
以左边的表为主
-
如果左边的表有匹配的右表数据时,就显示
-
如果左边的表没有匹配的右表数据时,右表显示基本内容以null填入
-
例子
左表,员工表,孙大圣,没有关联的部门
进行左连接查询的时候
左表,员工表,数据全显示
右表的数据,有的就显示,没有的就以null填入
-
右连接
-
以右边的表为主
-
如果右边的表有匹配的左表数据时,就显示
-
如果右边的表没有匹配的左表数据时,左边显示的基本内容,以null填入
-
例子
当前的右表,部门表
左表不能匹配上的,就以null来填入
-
XMind - Trial Version