📅  最后修改于: 2020-11-15 03:57:18             🧑  作者: Mango
在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语句中,表达式的数量必须相同。
SELECT supplier_id
FROM suppliers
UNION
SELECT supplier_id
FROM order_details
输出
在此示例中,在表“ suppliers”和“ order_details”中都定义了vendor_id。在UNION之后,它将在结果集中出现一次,因为Oracle UNION运算符会删除重复的集合。
注意:如果您不想删除重复项,请使用Oracle UNION ALL运算符。
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所示。