8、集合操作

作者: 小母牛不生产奶 | 来源:发表于2018-10-18 00:22 被阅读0次

    UNION

    并集,所有的内容都查询,重复的显示一次  



    UNION ALL

    并集,所有的内容都显示,包括重复的 

     


    INTERSECT

    交集:

    只显示重复的  


    MINUS

    差集:

    只显示对方没有的(跟顺序是有关系的)首先建立一张只包含 20 部门员工信息的表: CREATE TABLE emp20 AS SELECT * FROM emp WHERE deptno=20 ; 


    1验证 UNION 及UNION ALL  UNION:SELECT * FROM emp UNION SELECT * FROM emp20 ;  使用此语句重复的内容不再显示了  UNION ALL:SELECT * FROM emp UNION ALL SELECT * FROMemp20 ;  重复的内容依然显示 



    2验证INTERSECT

     SELECT * FROM emp INTERSECT SELECT * FROMemp20 ; 

    只显示了两个表中彼此重复的记录。 



    3、MINUS

    返回差异的记录

    SELECT * FROM emp MINUS SELECT * FROMemp20 ; 

    只显示了两张表中的不同记录 



                                                                                                                                                  

    满链接也可以用以下的方式来表示:

     select t1.id,t2.id from table1 t1,table t2where t1.id=t2.id(+)  union  select t1.id,t2.id from table1 t1,table t2where t1.id(+)=t2.id

    相关文章

      网友评论

        本文标题:8、集合操作

        本文链接:https://www.haomeiwen.com/subject/frgdzftx.html