Skip to main content

内连接

相当于查询A、B交集部分数据

隐式内连接

select 字段列表 from 表1,表2 where 条件……;
# 内连接
select emp.name, dept.name from emp, dept where emp.dept_id = dept.id;

显式内连接

select 字段列表 from 表1 [inner] join 表2 on 连接条件……;
select emp.name, dept.name from emp inner join dept on emp.dept_id = dept.id;

外连接

左外连接

查询左表所有数据,以及两张表交集部分数据

# 会查询左边表1的shu
select 字段列表 from 表1 left [outer] join 表2 on 条件……;
-- 左
select emp.name, dept.name from emp left outer join dept on emp.dept_id = dept.id;

右外连接

查询右表所有数据,以及两张表交集部分数据

select 字段列表 from 表1 right [outer] join 表2 on 条件……;
-- 右
select dept.*, emp.* from emp right join dept on emp.dept_id = dept.id;

自连接

当前表与自身的连接查询,自连接必须使用表别名

select 字段列表 from 表A 别名A join 表A 别名B on 条件……;