Oracle Union

一、Oracle Union 语法

在 Oracle 中,UNION 运算符用于组合两个或多个 Oracle SELECT 语句的结果集。它结合了两个 SELECT 语句并删除了它们之间的重复行。/p>

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

语法:

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

参数说明:

  • expression1, expression2, ... expression_n:指定要检索的列。
  • table1,table2:它指定您从中检索记录的表。
  • conditions:它指定了要选择的记录必须满足的条件。

注意:两个 SELECT 语句中的表达式数量必须相同。

二、Oracle Union 示例:获取单个字段

SELECT supplier_id  
FROM suppliers  
UNION  
SELECT supplier_id  
FROM order_details  

输出结果为:

在本例中,supplier_id 定义在表“suppliers”和“order_details”中。在 UNION 之后,它会在结果集中出现一次,因为 Oracle UNION 运算符会删除重复集。

注意:如果您不想删除重复项,请使用 Oracle UNION ALL 运算符。

三、Oracle Union 示例:使用 ORDER BY

Oracle UNION 运算符可以与 ORDER BY 子句一起使用来对查询结果进行排序。

SELECT supplier_id, supplier_name  
FROM suppliers  
WHERE supplier_id <= 20  
UNION  
SELECT s_id, s_name  
FROM shopkeepers  
WHERE s_name = 'dhirubhai'  
ORDER BY 1;  

输出结果为:

在上面的示例中,结果按供应商名称/s_name 升序排序,用 ORDER BY 1 表示。

热门文章

优秀文章