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 表示。
热门文章
优秀文章