内连接:
隐式内连接
使用sql语句直接进行多表查询
select 字段列表 from 表1 , 表2 where 条件 … ;
显式内连接
将‘,’改为== inner join == 连接两个表的 on
select 字段列表 from 表1 [ inner ] join 表2 on 连接条件 … ;
select emp.id, emp.name, dept.name
from emp inner join dept
on emp.dept_id = dept.id
where emp.gender = 1 and emp.salary > 8000;
外连接:
内连接只能查询对应于另一个表的数值不为空的才能查出来
那么当我想将为空以及不为空的表中符合的查出来要怎样呢?
这时候就要用外连接
例如查询没有部门以及有部门的全部用户信息
左外连接语法
select 字段列表 from 表1 left [ outer ] join 表2 on 连接条件 … ;
右外连接语法
select 字段列表 from 表1 right [ outer ] join 表2 on 连接条件 … ;