SQL中的UNION是用于合并兩個或多個SELECT語句的結果集的操作符。它將兩個或多個查詢的結果集合并為一個結果集,并去除重復的行。
UNION的語法如下:
SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;
在這個語法中,我們首先使用SELECT語句從table1中選擇column1、column2等列,然后使用UNION操作符將其與從table2中選擇的列合并。合并的結果將包含兩個SELECT語句的結果集,并且重復的行將被去除。
需要注意的是,UNION操作符要求兩個SELECT語句的列數和數據類型必須相同或兼容。如果列數不同,可以使用NULL填充缺失的列。如果數據類型不兼容,可能會導致錯誤。
UNION操作符默認會去除重復的行。如果想要包含重復的行,可以使用UNION ALL操作符。UNION ALL不會去除重復的行,而是將所有的行都包含在結果集中。
下面是一個示例,展示了UNION的用法:
SELECT name, age FROM students
UNION
SELECT name, age FROM teachers;
這個示例中,我們從students表中選擇name和age列,然后將其與從teachers表中選擇的name和age列合并。合并的結果將包含所有學生和教師的姓名和年齡,并且重復的行將被去除。
總結一下,UNION是SQL中用于合并兩個或多個SELECT語句結果集的操作符。它可以將多個查詢的結果合并為一個結果集,并去除重復的行。如果想要包含重復的行,可以使用UNION ALL操作符。