7、多表查询
笛卡尔集(Cross Join)
Select * from emp,dept;
等值连接(Equijoin)(Naturaljoin..on)
select empno, ename, sal, emp.deptno, dnamefrom emp, dept where emp.deptno = dept.deptno;
非等值连接(Non-Equijoin)
select ename,empno,grade from emp,salgradewhere sal between losal and hisal;
自连接(Self join)
select e.empno,e.ename,m.empno,m.enamefrom emp e,emp m where e.mgr = m.empno; select e.empno,e.ename,m.empno,m.enamefrom emp e,emp m where m.mgr = e.empno;
左外联接(Left Outer Join )
select s.sid,s.sname,s1.sid,s1.snamefrom student s,student1 s1 where s.sid=s1.sid(+);
select empno,ename,dname from emp leftouter join dept on emp.deptno = dept.deptno;
右外联接(Right Outer Join)
select s.sid,s.sname,s1.sid,s1.snamefrom student s,student1 s1 where s.sid(+)=s1.sid;
select empno,ename,dname from emp rightouter join dept on emp.deptno = dept.deptno;
满外联接(Full Outer Join)
select empno,ename,dname from emp fullouter join dept on emp.deptno = dept.deptno;