oracle 中 union 用法是將多個具有相同結構的查詢結果集合并成一個單一結果集。該操作符會刪除重復的記錄,除非使用 union all,后者會合并所有記錄,包括重復的記錄。
Oracle 中 UNION 用法
UNION 是 Oracle 中用于將多個查詢結果集組合成一個單一結果集的 SQL 操作符。它用于合并具有相同結構(列名和數據類型)的表或查詢結果。
語法:
<code>SELECT ... UNION SELECT ... UNION ...</code>
登錄后復制
用法:
合并相同結構的表:
<code>SELECT * FROM table1 UNION SELECT * FROM table2;</code>
登錄后復制
合并不同的查詢:
<code>SELECT name, age FROM students UNION SELECT name, NULL AS age FROM teachers;</code>
登錄后復制
注意:
只有具有相同數量和數據類型的列才能合并。
UNION 會刪除重復的記錄,除非使用 UNION ALL。
UNION ALL 會將所有記錄合并,包括重復的記錄。
示例:
下表包含兩個表:
table1
id | name | age |
---|---|---|
1 | John | 20 |
2 | Mary | 25 |
table2
id | name | job |
---|---|---|
3 | Bob | teacher |
4 | Alice | student |
使用 UNION,我們可以合并這兩個表:
<code>SELECT * FROM table1 UNION SELECT id, name, NULL AS job FROM table2;</code>
登錄后復制
結果:
id | name | age | job |
---|---|---|---|
1 | John | 20 | null |
2 | Mary | 25 | null |
3 | Bob | null | teacher |
4 | Alice | null | student |