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.
SELECT expression1, expression2, ... expression_n FROM table1 WHERE conditions UNION SELECT expression1, expression2, ... expression_n FROM table2 WHERE conditions;
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.
SELECT supplier_id FROM suppliers UNION SELECT supplier_id FROM order_details
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.
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;
In the above example, result is sorted by supplier_name/s_name in ascending order, as denoted by ORDER BY 1.