zoukankan      html  css  js  c++  java
  • SELECT--UNION,UNION ALL,MINUS, INTERSECT,EXISTS

    SELECT--UNION,UNION ALL,MINUS, INTERSECT
    返回两个查询结果的集合操作,两个查询结果集必须字段相同。
    UNION和UNION ALL并集操作,UNION并集后去掉重复结果,UNION ALL直接并集
    MINUS差集操作
    INTERSECT交集操作
    SQL> select * from dept2;

    DEPTNO DNAME LOC
    ---------- -------------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON
    88 TEST CHINA
    SQL> select * from dept;

    DEPTNO DNAME LOC
    ---------- -------------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON
    SQL> SELECT * FROM DEPT UNION SELECT * FROM DEPT2;

    DEPTNO DNAME LOC
    ---------- -------------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON
    88 TEST CHINA

    SQL> SELECT * FROM DEPT UNION ALL SELECT * FROM DEPT2;

    DEPTNO DNAME LOC
    ---------- -------------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON
    88 TEST CHINA

    已选择9行。
    SQL> SELECT * FROM DEPT MINUS SELECT * FROM DEPT2;

    未选定行

    SQL> SELECT * FROM DEPT2 MINUS SELECT * FROM DEPT;

    DEPTNO DNAME LOC
    ---------- -------------- -------------
    88 TEST CHINA

    SQL> SELECT * FROM DEPT2 INTERSECT SELECT * FROM DEPT;

    DEPTNO DNAME LOC
    ---------- -------------- -------------
    10 ACCOUNTING NEW YORK
    20 RESEARCH DALLAS
    30 SALES CHICAGO
    40 OPERATIONS BOSTON
    ====================================================
    使用EXISTS(NOT EXISTS)替换IN(NOT IN)
    IN(NOT IN)在执行数据库操作时性能非常低下,应该使用EXISTS(NOT EXISTS)替换,特别是NOT IN子句将执行一个内部的排序和合并;
    EXISTS子查询使用主表的字段限制查询数据
    SELECT *
    FROM SCOTT.EMP E
    WHERE EXISTS (SELECT * FROM SCOTT.DEPT WHERE DEPT.DEPTNO = E.DEPTNO AND DEPTNO = 20);
    --因为EXISTS可以看到外表,所以,如果表名重复,使用表别名区分,在子查询中一定写清楚和外表的关联关系,另外,子查询写SELECT * 是对的,不用写字段名。

  • 相关阅读:
    OC 中的强引用(strong referene)和弱引用( weak reference)
    OC 内存管理黄金法则
    理解NSSComparisionResult 类型
    Java 持有对象学习笔记
    Java相关配置
    Flash Builder
    WPS 导致 EXCEL 文件下载问题
    Cocos2dx 3.8-----裁剪层中控件的点击响应问题
    #cocos2dx游戏开发#UIImageView必须在加载了图片资源后再进行九宫格设置,否则无效。
    在普通class里使用onActivityResult获取从一个activity返回的数据 (待解)
  • 原文地址:https://www.cnblogs.com/rusking/p/3961586.html
Copyright © 2011-2022 走看看