union 運算符將多個表的具有相同列結(jié)構(gòu)的行合并為一個結(jié)果集,消除重復行并自動轉(zhuǎn)換數(shù)據(jù)類型。1. 合并來自不同表的行;2. 消除重復行;3. 轉(zhuǎn)換數(shù)據(jù)類型以匹配列結(jié)構(gòu)。
SQL 中 UNION 的作用
UNION 運算符用于合并來自兩個或多個表的具有相同列結(jié)構(gòu)的行,形成一個新的結(jié)果集。
使用方法:
UNION 的語法如下:
<code>SELECT 列名1, 列名2, ... FROM 表名1 UNION SELECT 列名1, 列名2, ... FROM 表名2</code>
登錄后復制
作用:
合并行:將多個表的行合并到一起,形成一個新的結(jié)果集。
消除重復行:默認情況下,UNION 會消除重復行。
不同表:可合并來自不同表的行,只要它們具有相同的列結(jié)構(gòu)。
數(shù)據(jù)類型轉(zhuǎn)換:UNION 會自動將不同數(shù)據(jù)類型的列轉(zhuǎn)換為兼容的數(shù)據(jù)類型。
注意事項:
列順序和數(shù)據(jù)類型:合并的表的列必須按照相同的順序和數(shù)據(jù)類型排列。
NULL 值:UNION 會將 NULL 值視為匹配值,即使它們出現(xiàn)在不同行的不同列中。
ALL 和 DISTINCT:UNION 可以使用 ALL 或 DISTINCT 關(guān)鍵字,ALL 包含所有行而 DISTINCT 僅返回唯一行。
示例:
合并兩個包含國家信息表的行:
<code>SELECT Country, Population FROM Countries UNION SELECT Country, Population FROM World_Nations;</code>
登錄后復制
結(jié)果:
合并后的表將包含所有國家的數(shù)據(jù),且沒有重復行。