ORACLE SQL SET运算符
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Oracle sql*plus PLSQL Developer
作者:陈小白
撰写时间:2019年03月25日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ET 运算
将多个查询用 SET 操作符连接组成一个新的查询
UNION/UNION ALL
INTERSECT
MINUS
排序:ORDER BY
UNION操作符
UNION 操作符返回两个查询的结果集的并集
两个表列名的数据类型要一致,列名数量要一致
SELECT SNO ,NAME,CLASS FROM STU2 WHERE CLASS=’17-01’
UNION
SELECT SNO ,NAME,CLASS FROM STU2 WHERE CLASS=’17-02’;
UNION ALL 操作符
UNION ALL 操作符返回两个查询的结果集的并集。对于两个结果集的重复部分,不去重。
SELECT SNO ,NAME,CLASS FROM STU2
UNION ALL
SELECT SNO ,NAME,CLASS FROM STU2
INTERSECT 操作符
INTERSECT 操作符返回两个结果集的交集
SELECT SNO ,NAME,CLASS FROM STU2
INTERSECT
SELECT SNO ,NAME,CLASS FROM STU2
MINUS 操作符
MINUS操作符:返回两个结果集的差集
SELECT SNO ,NAME,CLASS FROM STU2
MINUS
SELECT SNO ,NAME,CLASS FROM STU2
WHERE CLASS=’17-01’
使用 SET 操作符注意事项
在SELECT 列表中的列名和表达式在数量和数据类型上要相对应
括号可以改变执行的顺序
ORDER BY 子句:
只能在语句的最后出现
可以使用第一个查询中的列名, 别名或相对位置
除 UNION ALL之外,系统会自动将重复的记录删除
系统将第一个查询的列名显示在输出中
除 UNION ALL之外,系统自动按照第一个查询中的第一个列的升序排列