码字定式之SQL(4)

一些子查询
  1. select empno, ename from emp where mgr in
  2. (select empno from emp where job=‘MANAGER‘);
  3. select * from dept where deptno not in (select distinct deptno from emp);
  4. select * from dept where deptno not in (select deptno from emp);
  5. select empno, ename, sal from emp where mgr=
  6. (select empno from emp where ename=‘SCOTT‘);
  7. select * from emp where sal > 1.4*
  8. (select avg(sal) from emp);
  1. insert into dept(deptno, dname, loc) select 50, ‘TRAINING‘, ‘PEKING‘ from dual;
  2. update emp set sal=sal*1.2 where exists (select 1 from dept where deptno=emp.deptno and loc=‘DALLAS‘);
在写一条孔乙己式样的sql:
update emp set sal=sal*1.2 where exists (select avg(sal) from dept);

简单的层次查询
–-查询7788号雇员的下属和下属的下属……
select level, t.* from emp t start with empno=7788 connect by prior empno=mgr;
–-查询7788号雇员的的上司和上司的上司……
select level, t.* from emp t start with empno=7788 connect by empno=prior mgr;   




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