zoukankan      html  css  js  c++  java
  • Oracle 经典语法(三)

    1. 让SELECT TO_CHAR(sal,'L99,999.99') FROM emp WHERE  ROWNUM < 5 输出结果的货币单位是¥和$。
    SELECT TO_CHAR(sal,'L99,999.99') FROM emp WHERE  ROWNUM < 5
    SELECT TO_CHAR(sal,'$99,999.99') FROM emp WHERE  ROWNUM < 5

    /*--说明:对于'$99,999.99'格式符:
    L:表示强制显示当地货币符号
    $: 表示显示美元符号
    9: 表示一个数字
    0: 表示强制0显示
    .: 表示一个小数点
    ,: 表示一个千位分隔符
    --------------*/

    2. 列出前五位每个员工的名字,工资、涨薪后的的工资(涨幅为8%),以“元”为单位进行四舍五入。
    SELECT ename,sal,ROUND(sal * 1.08) FROM emp  WHERE ROWNUM <=5;


    3. 找出谁是最高领导,将名字按大写形式显示。
    SELECT UPPER(ename) AS NAME   FROM  emp  WHERE  mgr =0;


    4. 找出SMITH 的直接领导名字。
    SELECT UPPER( ename) AS NAME  FROM emp where empno in (select mgr from emp where ename ='SMITH')


    6. 哪些员工的工资高于他直接上司的工资,列出员工的名字和工资,上司的名字和工资。
    SELECT E.ENAME,E.SAL,M.ENAME,M.SAL  FROM EMP E,EMP M WHERE E.EMPNO = M.EMPNO AND E.SAL > M.SAL;
    SELECT E.ENAME,E.SAL FROM EMP E WHERE E.SAL > (SELECT M.SAL FROM EMP M   WHERE E.EMPNO = M.EMPNO);


    7. 哪些员工和SMITH同部门。
    SELECT ENAME  FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM EMP WHERE ENAME='SMITH')

    8. 哪些员工跟SMITH做一样职位。

    SELECT ENAME  FROM EMP WHERE JOB= (SELECT JOB FROM EMP WHERE ENAME='SMITH')

    9. 哪些员工跟SMITH不在同一个部门。
    SELECT ENAME  FROM EMP WHERE DEPTNO NOT IN (SELECT DEPTNO FROM EMP WHERE ENAME='SMITH')

    10. 哪些员工跟SMITH做不一样的职位。
    SELECT ENAME  FROM EMP WHERE JOB != (SELECT JOB FROM EMP WHERE ENAME='SMITH')

    11. 显示有提成的员工的信息:名字、提成、所在部门名称、所在地区的名称。
    SELECT E.ENAME, E.COMM,D.DNAME,D.LOC FROM EMP E,DEPT D  WHERE E.DEPTNO = D.DEPTNO AND (E.COMM IS NOT NULL AND E.COMM >0) ;

    12. 显示 RESEARCH部门有哪些职位。
    SELECT DISTINCT E.JOB FROM EMP E,DEPT D  WHERE D.DEPTNO = E.DEPTNO AND D.DNAME = ' RESEARCH';

    13. 整个公司中,最高工资和最低工资相差多少。
     SELECT MAX(SAL) - MIN(SAL) FROM EMP

    14. 提成大于0 的人数。
     SELECT COUNT(*) AS 提成大于0的人数 FROM emp WHERE comm > 0;


    15. 显示整个公司的最高工资、最低工资、工资总和、平均工资保留到整数位。
    SELECT MAX(NVL(sal,0)) AS 最高工资, MIN(NVL(sal,0)) AS 最低工资,SUM(NVL(sal,0)) AS 工资总和, ROUND(AVG(NVL(sal,0))) AS 平均工资 FROM emp

    16. 整个公司有多少个领导。
    SELECT COUNT(DISTINCT(mgr))  FROM emp WHERE mgr IS NOT NULL and mgr!=0;


    17. 列出在同一部门入职日期晚但工资高于其他同事的员工:名字、工资、入职日期。
    SELECT DISTINCT E1.ename AS 姓名, E1.sal AS 工资,E1.hiredate AS 入职日期 FROM emp E1,emp E2  WHERE e1.empno = E2.empno AND E1.hiredate > E2.hiredate AND E1.sal > E2.sal ORDER BY 工资 DESC;


     

  • 相关阅读:
    Python学习 Day 068
    Python模块(一)(常用模块)
    python面向对象(C3算法)(六)
    Python面向对象(约束,异常处理,md5加密)(五)
    python面向对象(反射)(四)
    Python面向对象(类之间的关系)(三)
    Python面向对象(成员)(二)
    python面向对象(一)
    Python函数的装饰器
    递归与二分法
  • 原文地址:https://www.cnblogs.com/lu-lin/p/3757470.html
Copyright © 2011-2022 走看看