oracle中union用法-Oracle
Oracle 中 UNION 用法
UNION 是 Oracle 中用于将多个查询结果集组合成一个单一结果集的 SQL 操作符。它用于合并具有相同结构(列名和数据类型)的表或查询结果。
语法:
SELECT ... UNION SELECT ... UNION ...
登录后复制
用法:
-
合并相同结构的表:
SELECT * FROM table1 UNION SELECT * FROM table2;
登录后复制 -
合并不同的查询:
SELECT name, age FROM students UNION SELECT name, NULL AS age FROM teachers;
登录后复制
注意:
- 只有具有相同数量和数据类型的列才能合并。
- 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,我们可以合并这两个表:
SELECT * FROM table1 UNION SELECT id, name, NULL AS job FROM table2;
登录后复制
结果:
id | name | age | job |
---|---|---|---|
1 | John | 20 | null |
2 | Mary | 25 | null |
3 | Bob | null | teacher |
4 | Alice | null | student |