1. 程式人生 > >MySQL UNION 操作符 (全連線查詢)

MySQL UNION 操作符 (全連線查詢)

MySQL UNION 操作符 (全連線查詢)

MySQL UNION 操作符用於連線兩個以上的 SELECT 語句的結果組合到一個結果集合中多個 SELECT 語句會刪除重複的資料

MySQL UNION 操作符語法格式:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

引數
expression1, expression2, ... expression_n: 要檢索的列
tables: 要檢索的資料表。
WHERE conditions: 可選, 檢索條件。

DISTINCT: 可選,刪除結果集中重複的資料。

ALL: 可選,返回所有結果集,包含重複資料

總結

UNION 語句:用於將不同表中相同列中查詢的資料展示出來;(不包括重複資料)

UNION ALL 語句:用於將不同表中相同列中查詢的資料展示出來;(包括重複資料)

程式碼演示

-- 從 "Websites" 和 "app" 表中選取所有不同的country(只有不同的值)
SELECT country FROM Websites
UNION
SELECT country FROM app
ORDER BY country;

-- 使用 UNION ALL 從 "Websites" 和 "app" 表中選取所有的country(也有重複的值)
SELECT country FROM Websites
UNION ALL
SELECT country FROM app
ORDER BY country;


-- 使用 UNION ALL 從 "Websites" 和 "app" 表中選取所有的中國(CN)的資料(也有重複的值)
SELECT country, NAME FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM app
WHERE country='CN'
ORDER BY country;