码字定式之SQL(5)

  1. --等值连接
  2. select dname, loc, empno, ename from emp a, dept b where a.deptno=b.deptno and b.deptno=20;
  3. --自连接
  4. select a.empno, a.sal, b.empno, b.ename, b.sal from emp a, emp b where a.mgr=b.empno and a.ename=‘SCOTT‘;
  5. --笛卡尔积
  6. select a||‘+‘||b||‘=‘||(a+b) as "3*3加法表" from (select rownum a from all_objects where rownum<4), (select rownum b from all_objects where rownum<4);
  7. --内连接
  8. select empno, ename, sal, salgrade.grade from emp, salgrade where emp.deptno=10 and emp.sal between salgrade.losal and salgrade.hisal;
  9. select empno, ename, sal, salgrade.grade from emp inner join salgrade on emp.deptno=10 and emp.sal between salgrade.losal and salgrade.hisal;
  10. --反连接
  11. select * from emp where deptno not in (select deptno from dept where loc in(‘NEW YORK‘, ‘DALLAS‘));
  12. select * from dept where deptno not in (select deptno from emp);
  13. --半连接
  14. select * from emp a where exists (select 1 from dept b where loc=‘NEW YORK‘ and a.deptno=b.deptno);
  15. select a.* from emp a, dept b where loc=‘NEW YORK‘ and a.deptno=b.deptno;
  16. select * from dept a where exists (select 1 from emp b where a.deptno=b.deptno and b.sal>2900);
  17. select a.* from dept a , emp b where a.deptno=b.deptno and b.sal>2900;
  18. select distinct a.* from dept a , emp b where a.deptno=b.deptno and b.sal>2900;






郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。