本文概述
在Oracle中, UNION运算符用于合并两个或多个Oracle SELECT语句的结果集。它结合了两个SELECT语句, 并删除了它们之间的重复行。
UNION运算符中的每个SELECT语句在具有相似数据类型的结果集中必须具有相同数量的字段。
句法
SELECT expression1, expression2, ... expression_n
FROM table1
WHERE conditions
UNION
SELECT expression1, expression2, ... expression_n
FROM table2
WHERE conditions;
参数
1)expression1, expression2, … expression_n:它指定要检索的列。
2)table1, table2:它指定从中检索记录的表。
3)条件:它指定要选择的记录必须满足的条件。
注意:在两个SELECT语句中, 表达式的数量必须相同。
Oracle UNION示例:(获取单个字段)
SELECT supplier_id
FROM suppliers
UNION
SELECT supplier_id
FROM order_details
输出
在此示例中, 在表”供应商”和” order_details”中都定义了vendor_id。在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;
输出
在上面的示例中, 结果按Supplier_name / s_name的升序排序, 如ORDER BY 1所示。
评论前必须登录!
注册