一、多表连接
1.查找员工上级主管人员
select e.ename,m.ename
from emp e,emp m
where e.mgr=m.empno;
2.查找出工作为SALESMAN的雇员基本情况、雇员经理的姓名、以及办公地点
方法一:
select e.ename,m.ename,d.loc
from emp e,emp m,dept d
where e.mgr=m.empno
and m.deptno=d.deptno
and e.job=‘SALESMAN’;
方法二:
1)create table manager
as
select * from emp;
2)select e.ename,m.ename,d.loc
from emp e,manager m,dept d
where e.mgr=m.empno
and m.deptno=d.deptno
and e.job=‘SALESMAN’;
二、SQL:1999语法的连接(p59语法格式)
1.笛卡尔积连接
方法一:select * from emp,dept;
方法二:select * from emp cross join dept;
2.等值连接
方法一:select e.* from emp e,dept d where e.deptno=d.deptno;
方法二:select empno,ename,sal,deptno,loc
from emp
natural join dept;
方法三:
select e.ename,e.ename,e.sal,deptno,d.loc
from emp e join dept d using (deptno);
方法四:
select e.empno,e.ename,e.deptno,d.deptno,d.loc
from emp e
join dept d
on (e.deptno=d.deptno);
右外链接:
方法一:select e.ename,e.deptno,d.loc
from emp e,dept d
where e.deptno(+)=d.deptno
方法二:
select e.ename,e.deptno,d.loc
from emp e
right outer join dept d
on (e.deptno=d.deptno);
Oracle(多表查询中1999语法的连接与多表连接)
最新推荐文章于 2021-12-08 08:59:41 发布