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

來源:互聯網
上載者:User

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
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.