Oracle数据查询(多表查询)
1. 自连接:将一张表作为两张表看待进行的连接
①查询整个员工表select * from emp;
②查询员工的姓名和他对应的管理者的姓名
select w.ename,m.ename from emp w join emp m on w.mgr = m.empno;
2. 外连接:使用空行匹配非匹配行的连接
①查询整个部门表select * from dept;
②右外连接:右边表全部显示,左边的表用空行匹配没有匹配的行。
select ename,d.deptno,dname from emp right outer join dept d on emp.deptno = d.deptno
③左外连接:左边的表全部显示,右边的表用空行匹配没有匹配的行。
select ename,d.deptno,dname from emp left outer join dept d on emp.deptno = d.deptno
④完全外连接:两边的表都会用空行匹配非匹配的行。
select ename,d.deptno,dname from emp full outer join dept d on emp.deptno = d.deptno
3. 连接更多表
JOIN table3 ON t1. col= t3.col
select ename,dept.deptno,dname,grade
from emp join dept on emp.deptno = dept.deptno
join salgrade on sal BETWEEN losal AND hisal;