# 多表连接查询

语法:
select
    ...
from
    a
join                    // 内连接
    b
on
    a表和b表的连接条件
join                    // 内连接
    c
on
    a表和c表的连接条件
right join              // 外连接
    d
on
    a和d的连接条件

# 注意

一条 SQL 中内连接和外连接可以混合,都可以出现!

案例:找出每个员工的部门名称,以及工资等级,要求显示员工名,部门名,薪资,薪资等级。


select 
    e.ename, d.ename, e.sal, sg.grade 
from 
    emp e 
join 
    dept d 
on 
    e.deptno = d.deptno 
join 
    salgrade sg 
on 
    e.sal between sg.losal and hisal;

案例:找出每个员工的部门名称,以及工资等级,要求显示员工名,领导名,部门名,薪资,薪资等级。


select 
    e.ename, d.ename, e.sal, sg.grade 
from 
    emp e 
join 
    dept d 
on 
    e.deptno = d.deptno 
join 
    salgrade sg 
on 
    e.sal between sg.losal and hisal
left outer join
    emp l
on
    e.mgr = l.empno;