一.内链接(inner join):查询的是两张表的交集部分,分为隐式内连接,和显式内连接。
1.隐式内连接:
select 字段列表 from 表一,表二 where 条件
2.显式内连接:
select 字段列表 from 表一 [inner] join 表二 on 条件
3.举例子:查询员工姓名及对应的部门名称,操作两张表dept,emp
隐式内连接:
select emp.name,dept.name from emp,dept where emp.dept_id=dept.id;
这样比较麻烦,我们给表起别名,简化SQL语句:
select e.name,d.name from emp e,dept d where e.dept_id = d.id;
显式内连接:
select e.name,d.name from emp e inner join dept d where e.dept_id=d.id;
二.外连接(left/right [outer] join):查询两张表的交集加上完全包含左表或者右表的数据,分为左外连接和右外连接。
左外连接:
select 字段属性 from 左表 left [outer] join 右表 on 条件查询语句。
select e.* ,d.name from emp e left join dept d on e.dept_id=d.id;
右外连接:
select 字段属性 from 右表 right [outer] join 左表表 on 条件查询语句。
select e.* ,d.* from dept d right join emp e on e.dept_id=d.id;
三.自连接
select 字段属性 from 表A 别名A join 表B 别名B on条件。(用的较少,不再单独举例)