zoukankan      html  css  js  c++  java
  • Oracle特有函数 case when decode exists 分页rownum

    select * from EMP e
    select * from dept d
    select * from salgrade s
    --Oracle特有函数 case when
    select
    case 2
    when 1 then '一'
    when 2 then '二'
    when 3 then '三'
    else '其他'
    end
    from dual;
    --Oracle特有函数 decode
    select decode(3,1,'一',2,'二',3,'三','其他')from dual;
    --查询员工的领导信息(内联查询)
    select e.empno,e.ename,e.job,e.mgr,'||',m.empno,m.ename,m.job
    from emp e,emp m
    where e.mgr=m.empno(+)

    select *
    from emp e right outer join emp m on e.mgr=m.empno;

    select *
    from emp e full outer join emp m on e.mgr=m.empno;
    --查询员工的领导信息(内联查询)及员工部门名称
    select e.empno,e.ename,e.job,e.mgr,e.deptno,d.dname,'||',m.empno,m.ename,m.job
    from emp e,emp m,dept d
    where e.mgr=m.empno and e.deptno=d.deptno
    --查询员工的领导信息(内联查询)员工部门名称,领导部门名称
    select e.empno,e.ename,e.job,e.mgr,e.deptno,d.dname,'||',m.empno,m.ename,m.job,p.dname
    from emp e,emp m,dept d,dept p
    where e.mgr=m.empno and e.deptno=d.deptno and m.deptno=p.deptno
    --查询员工的领导信息(内联查询)员工部门名称,领导部门名称,员工工资等级,领导工资等级
    select e.empno,e.ename,e.job,e.mgr,e.deptno,d.dname,s.grade,
    '||',m.empno,m.ename,m.job,p.dname,s1.grade
    from emp e,emp m,dept d,dept p,salgrade s,salgrade s1
    where e.mgr=m.empno
    and e.deptno=d.deptno
    and m.deptno=p.deptno
    and e.sal between s.losal and s.hisal
    and m.sal between s1.losal and s1.hisal
    --级别不用数字表示,用文字表示
    select e.empno,e.ename,e.job,e.mgr,e.deptno,d.dname,
    decode(s.grade,1,'一级',2,'二级',3,'三级',4,'四级',5,'五级','没级'),
    '||',m.empno,m.ename,m.job,p.dname,
    decode(s1.grade,1,'一级',2,'二级',3,'三级',4,'四级',5,'五级','没级')
    from emp e,emp m,dept d,dept p,salgrade s,salgrade s1
    where e.mgr=m.empno
    and e.deptno=d.deptno
    and m.deptno=p.deptno
    and e.sal between s.losal and s.hisal
    and m.sal between s1.losal and s1.hisal
    --查询工资高于7369号员工工资的员工信息
    select sal from emp where empno=7369
    select * from emp where sal>(select sal from emp where empno=7369)
    --查询存在员工的部门信息
    select distinct deptno from emp
    select * from dept where deptno in(select distinct deptno from emp )
    select * from dept where deptno =any(select distinct deptno from emp )
    select * from dept where deptno =some(select distinct deptno from emp )
    --使用exists
    select * from dept d where exists (select * from emp e where e.deptno=d.deptno)
    --查询每个部门最低工资员工信息
    select *
    from emp e,(select min(sal) msal,deptno from emp group by deptno) t
    where e.sal=t.msal
    and e.deptno=t.deptno
    --查询工资最高的前三名 (分页的感觉)
    select * from
    (select * from emp order by sal desc) t
    where rownum <=3

  • 相关阅读:
    成为JAVA(高级)工程师
    JVM的内存区域划分以及垃圾回收机制
    XML
    String.valueOf
    JAVA书籍(2)
    JAVA书籍(1)
    深入JAVA线程池
    FileWriter与BufferedWriter
    获取下拉框的文本或值
    删除字符串最后一个字符的几种方法
  • 原文地址:https://www.cnblogs.com/qingyundian/p/9130963.html
Copyright © 2011-2022 走看看