zoukankan      html  css  js  c++  java
  • 第七天20160803

    --集合运算:并集,交集,补集
    --并集:UNION/UNION ALL
    --查询收入最高与收入最低的员工,显示员工的last_name,salary
    SELECT LAST_NAME AS EMP_NAME,SALARY
    FROM EMPLOYEES
    WHERE SALARY=(SELECT MAX(SALARY) FROM EMPLOYEES)
    UNION
    SELECT LAST_NAME AS NAME,SALARY
    FROM EMPLOYEES
    WHERE SALARY=(SELECT MIN(SALARY) FROM EMPLOYEES)
    ORDER BY SALARY ASC;

    /*
    1.集合运算时,查询结果中列的个数与类型的顺序保持一致。
    2.集合运算时,第一个集合可以决定结果中列的标题。
    3.集合运算时,ORDER BY子句只能出现在最后一个集合中。
    */
    --UNION:自动去重复值。
    --UNION ALL:不去重复值,在不考虑重复值的情况下,建议使用UNION ALL,可以提高效率。

    SELECT LAST_NAME,SALARY
    FROM EMPLOYEES
    UNION ALL
    SELECT LAST_NAME,SALARY
    FROM EMPLOYEES
    UNION ALL
    SELECT LAST_NAME,SALARY
    FROM EMPLOYEES;

    --交集:INTERSECT
    --查询employees表中工资大于3000,并且在50号部门工资的员工,显示last_name,salary,department_id
    SELECT LAST_NAME,SALARY,DEPARTMENT_ID
    FROM EMPLOYEES
    WHERE SALARY>3000
    INTERSECT
    SELECT LAST_NAME,SALARY,DEPARTMENT_ID
    FROM EMPLOYEES
    WHERE DEPARTMENT_ID=50;

    --补集:MINUS
    A:1 2 3 4 5 6
    B:3 4 7
    A - B = 1 2 5 6
    B - A = 7

    --查询employees表中工资最高的第二页的员工信息(每页显示5行数据)
    SELECT R,LAST_NAME,SALARY
    FROM (SELECT ROW_NUMBER() OVER(ORDER BY SALARY DESC) AS R,LAST_NAME,SALARY FROM EMPLOYEES)
    WHERE R BETWEEN 6 AND 10;

    SELECT LAST_NAME,SALARY
    FROM (SELECT LAST_NAME,SALARY
    FROM EMPLOYEES
    ORDER BY SALARY DESC)
    WHERE ROWNUM<=10
    MINUS
    SELECT LAST_NAME,SALARY
    FROM (SELECT LAST_NAME,SALARY
    FROM EMPLOYEES
    ORDER BY SALARY DESC)
    WHERE ROWNUM<=5
    ORDER BY SALARY DESC;

  • 相关阅读:
    SugarCRM SupPanel删除键不好用
    SugarCRM 一个页面控制两个模块(editview.php)
    使用组策略去除每次打开IE7的”自定义您的设置”
    SugarCRM SupPanel表头显示不正确
    SugarCRM 去掉 模块标题左边的 问号 和 帮助
    SugarCRM 在Html中增加超连接按钮
    C#中设置状态栏(statusStrip)的布局
    poj2418 Hardwood Species *
    算法导论15.54
    算法导论9.37
  • 原文地址:https://www.cnblogs.com/yzyqqhr/p/5733789.html
Copyright © 2011-2022 走看看