In Oracle, UNION operator is used to combine the result sets of two or more Oracle SELECT statements. It combines the both SELECT statement and removes duplicate rows between them./p>
Each SELECT statement within the UNION operator must have the same number of fields in the result sets with similar data types.
Syntax
SELECT expression1, expression2, ... expression_n
FROM table1
WHERE conditions
UNION
SELECT expression1, expression2, ... expression_n
FROM table2
WHERE conditions;
Parameters
1) expression1, expression2, … expression_n: It specifies the columns that you want to retrieve.
2) table1, table2: it specifies the tables from where you retrieve the records.
3) conditions: it specifies the conditions that must be fulfilled for the records to be selected.
Note: The number of expressions must be same in both of the SELECT statements.
Oracle UNION Example: (Fetch single field)
SELECT supplier_id
FROM suppliers
UNION
SELECT supplier_id
FROM order_details
output
In this example, supplier_id is defined in both of the table “suppliers” and “order_details”. After the UNION, it would appear once in the result set because Oracle UNION operator removes duplicate sets.
Note: If you don’t want to remove duplicates, use Oracle UNION ALL operator.
Oracle UNION Example: (Using ORDER BY)
The Oracle UNION operator can be used with ORDER BY clause to orders the results of the query.
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;
Output
In the above example, result is sorted by supplier_name/s_name in ascending order, as denoted by ORDER BY 1.
Leave a Reply