一、UNION和UNION ALL的作用和語法
UNION 用于合并兩個或多個 SELECT 語句的結果集,并消去表中任何重復行。
UNION 內部的 SELECT 語句必須擁有相同數量的列,列也必須擁有相似的數據類型。
同時,每條 SELECT 語句中的列的順序必須相同.
SQL UNION 語法:
二、union的用法及注意事項
union:聯合的意思,即把兩次或多次查詢結果合并起來。
要求:兩次查詢的列數必須一致
推薦:列的類型可以不一樣,但推薦查詢的每一列,想對應的類型以一樣
可以來自多張表的數據:多次sql語句取出的列名可以不一致,此時以第一個sql語句的列名為準。
如果不同的語句中取出的行,有完全相同(這里表示的是每個列的值都相同),那么union會將相同的行合并,最終只保留一行。也可以這樣理解,union會去掉重復的行。
如果不想去掉重復的行,可以使用union all。
如果子句中有order by,limit,需用括號()包起來。推薦放到所有子句之后,即對最終合并的結果來排序或篩選。
如:
在子句中,order by 需要配合limit使用才有意義。如果不配合limit使用,會被語法分析器優化分析時去除。
三、學習例子
下面的例子中使用的原始表:
Employees_China:
使用 UNION 命令實例
列出所有在中國和美國的不同的雇員名:
新聞熱點
疑難解答