Oracle数据库中集合运算

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Youth_Mr6/article/details/81461719

集合:并, 交, 差
    集合运算是把两个或多个查询的结果集做并/交/差的集合运算,包含集合运算的查询称为复合查询
    
    并集:
        UNION:
            返回两个集合的并集,去掉重复数据,默认按返回结果集的第一列升序排列
            
            使用规则:
                1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
                2)如果多个查询结果都有null值,整个结果中只包含一个null值
                3)每个查询不能包含自己的order by字句,只能在联合之后使用order by字句
        UNION ALL:
            两个集合的并集,不去掉重复数据,默认不排序(速度快)
            
            使用规则:
            1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
            2)如果多个查询结果都有null值,不被去掉
            3)每个查询不能包含自己的order by字句,只能在联合之后使用order by字句
        
    
    交集: 
        INTERSECT:,返回多个查询结果公有行,默认升序排列
        
        使用规则:
            1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
            2)相交运算不忽略空值
        
    差集:
        MINUS:返回第一个查询中存在,而第二个查询中不存在的行记录(A集合减去B集合中的记录剩下的记录)
        
        使用规则:
            1)多个查询语句所选择的列数和列的数据类型必须一致,列的名字不必相同
            2)相减运算不忽略空值
            
    PS:
        1)所有的集合运算符与等号的优先级相同
        2)相交和相减运算时Oracle特定的
    
 

猜你喜欢

转载自blog.csdn.net/Youth_Mr6/article/details/81461719
今日推荐