MySQL连接查询(内连接和外连接)详解-实战总结

一、什么是内连接查询?

查询AB表之间交集的数据

二、什么是外连接查询?

左外连接查询 :查询A表所有数据和交集部门数据

右外连接查询 : 查询B表所有数据和交集部分数据

下面详细举例解释

1、内连接查询

分类:隐式内连接和显式内连接

关键字:WHERE(隐式内连接),[INNER] JOIN ON(显式内连接)

语法:

-- 隐式内连接 SELECT 字段列表 FROM 表1,表2... WHERE 条件;

-- 显示内连接

SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 条件;

案例:查询员工所在的部门,员工表emp,部门表dept,外健dept_id

隐式内连接:select * from emp,dept where emp.dep_id = dept.did;

显式内连接:select * from emp inner join dept on emp.dep_id = dept.did;语句中的inner可以省略

2、外连接查询

分类:左外连接和右外连接

关键字:left join on(左外连接),right join on(右外连接)

语法:

-- 左外连接

SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件;

-- 右外连接 SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件;

案例:

2.1左外连接:查询员工表emp表所有数据和对应的部门表dept的信息

select * from emp left join dept on emp.dep_id = dept.did;

2.2右外连接:查询部门表dept表所有数据和对应的员工信息

select * from emp right join dept on emp.dep_id = dept.did;

经验分享 程序员 微信小程序 职场和发展