一、什么是内连接查询?
查询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;