集合操作要保證字段數量和資料型別相容。
兩個查詢的結果可以用集合操作並、交、差進行組合。語法是
query1union[all] query2
query1intersect[all] query2
query1except[all] query2 --有的資料庫用的minus
query1和query2都是可以使用以上所有特性的查詢。
集合操作也可以巢狀和級連,例如
query1 union query2 union query3
實際執行的是:
(query1 union query2) union query3
union有效地把query2的結果附加到query1的結果上(不過我們不能保證這就是這些行實際被返回的順序)。此外,它將刪除結果中所有重複的行, 就象distinct做的那樣,除非你使用了union all。
intersect返回那些同時存在於query1和query2的結果中的行(會去重),除非宣告了intersect all, 否則所有重複行都被消除。
except返回所有在query1的結果中但是不在query2的結果中的行(會去重)(有時侯這叫做兩個查詢的差)。同樣的,除非宣告了except all,否則所有重複行都被消除。
為了計算兩個查詢的並、交、差,這兩個查詢必須是「並操作相容的」,也就意味著它們都返回同樣數量的列,並且對應的列有相容的資料型別。
C STL 排序 查詢 集合操作
include include include include include include include include include include using namespace std template void printvector vectorv const int m size...
MySQL查詢in操作 查詢結果按in集合順序顯示
引自 mysql 查詢in操作,查詢結果按in集合順序顯示 複製 如下 select from test where id in 3,1,5 order by find in set id,3,1,5 select from test where id in 3,1,5 order by subst...
sql 集合查詢 資料更新操作語句
語句查詢結果是元組的集合,所以多個 語句的結果可進行審核操作。集合操作主要包括並操作union 交操作intersect和差操作except。注意參加集合操作的各查詢結果的列數必須相同 對應的資料型別也必須相同。使用union將多個查詢結果合併起來時,系統會自動去掉重複元組。如果要保留重複元組則用u...