Oracle集合操作函数:Union、Union All、Intersect、Minus,intersectminus
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。 找出第一条SQL查询的不在第二条SQL语句查询结果中的那些记录 比not exists, not in 性能高
可以在最后一个结果集中指定Order by子句改变排序方式。
可行
但是你必须把每个结果集保存在子查询中。
如:
SELECT *
FROM (SELECT '002', '语文', '' FROM DUAL ORDER BY 1)
UNION ALL
SELECT *
FROM (SELECT '001', '数学', '' FROM DUAL ORDER BY 1)
UNION ALL
SELECT * FROM (SELECT '003', '英语', '' FROM DUAL ORDER BY 1)
但是,如果你不写在子查询中,就不行
如:
SELECT '002', '语文'
FROM DUAL
ORDER BY 1
UNION ALL
SELECT '001', '数学'
FROM DUAL
ORDER BY 1
UNION ALL
SELECT '003', '英语' FROM DUAL ORDER BY 1
这种方式肯定是不会,并且SQL会报错。
SELECT 字段1 FROM 表1
UNION
SELECT 字段2 FROM 表2
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。