时间:2021-07-01 10:21:17 帮助过:24人阅读
【5】自连接
select e1.empno,e1.ename, e2.empno,e2.ename from emp e1 join emp e2 on e1.mgr = e2.empno; --sql99 ---但是注意;少了KING这个用户,所以使用外连接。
【6】外连接
外连接有三种:左外连接,右外连接,全外连接
--[6] 外连接 [outer] join outer 可以省略 与 inner一样! -- 左外连接 left [outer] join -- 右外连接 right [outer] join -- 全外连接 full [outer] join select e1.empno,e1.ename,e2.empno,e2.ename from emp e1 left join emp e2 --e1 是可以看作员工表 e2可以看作领导表 on e1.mgr = e2.empno; --查询所有部门的详细信息以及每个部门的平均工资,包含没有员工的部门 select d.*,round(nvl(avg(sal),0)) avg_sal from emp e1 right join dept d on e1.deptno = d.deptno group by d.deptno,d.dname,d.loc order by d.deptno;--按照部门编号排序 --查询部门30员工编号,姓名,部门名称,薪水,薪水等级 select e.empno,e.ename,d.dname,e.sal,s.grade from emp e join dept d on e.deptno = d.deptno join salgrade s on e.sal between s.losal and s.hisal where d.deptno = 30;
多表查询SQL99
标签:内连接 领导 name 指定字段 mgr span color 左外连接 nat