SQL UNION和UNION ALL操作符用于合并兩個或多個SELECT語句的結果集。
UNION操作符用于將兩個或多個SELECT語句的結果集合并為一個結果集,并去除重復的行。它的語法如下:
SELECT column1, column2, … FROM table1
UNION
SELECT column1, column2, … FROM table2;
注意:UNION操作符要求兩個SELECT語句具有相同的列數和相似的數據類型。
UNION ALL操作符用于將兩個或多個SELECT語句的結果集合并為一個結果集,不去除重復的行。它的語法如下:
SELECT column1, column2, … FROM table1
UNION ALL
SELECT column1, column2, … FROM table2;
使用UNION操作符時,如果兩個查詢的結果有相同的行,則只保留一行。而使用UNION ALL操作符時,會保留所有的行,包括重復的行。
例如,假設有兩個表:employees和customers。要獲取這兩個表中所有人的名字,可以使用UNION操作符:
SELECT name FROM employees
UNION
SELECT name FROM customers;
如果要獲取這兩個表中所有人的名字,包括重復的行,可以使用UNION ALL操作符:
SELECT name FROM employees
UNION ALL
SELECT name FROM customers;
總結來說,UNION操作符用于合并結果集并去除重復的行,而UNION ALL操作符用于合并結果集并保留所有的行。