oracle经验之谈

7、多表查询

2018-10-18  本文已影响0人  小母牛不生产奶

笛卡尔集(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; 

上一篇 下一篇

猜你喜欢

热点阅读