Oracle Union All

在 Oracle 中,UNION ALL 运算符用于组合 2 个或更多 SELECT 语句的结果集。它与 UNION 运算符的不同之处在于它不会删除各种 SELECT 语句之间的重复行。它返回所有行。

UNION ALL 中的每个 SELECT 语句在具有相似数据类型的结果集中必须具有相同数量的字段。

一、UNION 和 UNION ALL 运算符的区别

UNION 运算符删除重复行,而 UNION ALL 运算符不删除重复行。

UNION ALL 语法:

SELECT expression1, expression2, ... expression_n  
FROM table1  
WHERE conditions  
UNION ALL  
SELECT expression1, expression2, ... expression_n  
FROM table2  
WHERE conditions;   

参数说明:

  • expression1, expression2, expression_n:指定要检索的列。两个 SELECT 语句中的表达式数量必须相同。
  • table1, table2:指定要从中检索记录的表名。
  • conditions:指定要选择的记录必须满足的条件。

二、Oracle Union All 示例

SELECT supplier_id  
FROM suppliers  
UNION ALL  
SELECT supplier_id  
FROM order_details;  

如果supplier_id 和order_details 表中都出现相同的值,上述示例将在结果集中多次返回supplier_id。

输出结果为:

热门文章

优秀文章