📜  Oracle UNION运算符

📅  最后修改于: 2020-11-15 03:57:18             🧑  作者: Mango

Oracle UNION运算符

在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

输出

在此示例中,在表“ suppliers”和“ 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所示。