欢迎投稿

今日深度:

Oracle集合操作函数:Union、Union All、Intersect、Minu

Oracle集合操作函数:Union、Union All、Intersect、Minus,intersectminus


Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect,对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus,对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。 找出第一条SQL查询的不在第二条SQL语句查询结果中的那些记录 比not exists, not in 性能高
可以在最后一个结果集中指定Order by子句改变排序方式。

oracle 多个结果集union后保持各自原有排序

可行
但是你必须把每个结果集保存在子查询中。
如:
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会报错。
 

oracle查询问题?

SELECT 字段1 FROM 表1
UNION
SELECT 字段2 FROM 表2
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4368.html NewsArticle Oracle集合操作函数:Union、Union All、Intersect、Minus,intersectminus Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All,对两个结果集进行并集操作,包括...
评论暂时关闭