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