Oracle Set Operators
Description:
The set operators are used to combine the results of two component queries into a single result. Queries containing set operators are called compound queries.
UNION Operator:
Select all distinct rows by either query.
Example:
SELECT location_id, department_name "Department",
TO_CHAR(NULL) "Country Office" FROM departments
UNION
SELECT location_id, TO_CHAR(NULL) "Department",
state_province FROM locations;
Sample Output:
LOCATION_ID Department Country_Office ----------- ------------------------------ ------------------------- 1000 1100 1200 Tokyo Prefecture 1300 1400 IT 1400 Texas 1500 Shipping 1500 California 1600 New Jersey 1700 Accounting 1700 Administration 1700 Benefits 1700 Construction 1700 Contracting 1700 Control And Credit 1700 Corporate Tax 1700 Executive 1700 Finance 1700 Government Sales 1700 IT Helpdesk 1700 IT Support 1700 Manufacturing 1700 NOC 1700 Operations 1700 Payroll 1700 Purchasing 1700 Recruiting 1700 Retail Sales 1700 Shareholder Services 1700 Treasury 1700 Washington 1800 Marketing 1800 Ontario 1900 Yukon 2000 2100 Maharashtra 2200 New South Wales 2300 2400 Human Resources 2400 2500 Sales 2500 Oxford 2600 Manchester 2700 Public Relations 2700 Bavaria 2800 Sao Paulo 2900 Geneve 3000 BE 3100 Utrecht 3200 Distrito Federal, 50 rows selected.
UNION ALL Operator:
Select all rows by either query including all duplicates.
Sample table: regions
Example:
SELECT region_id FROM regions
UNION ALL
SELECT region_id FROM countries
ORDER BY region_id;
Sample Output:
REGION_ID ---------- 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 29 rows selected.
INTERSECT Operator:
Both the queries select all the distinct rows.
Example:
SELECT 3 FROM DUAL
INTERSECT
SELECT 3f FROM DUAL;
Sample Output:
3 ---------- 3.0E+000
Example:
Sample table: regions
SELECT region_id FROM regions
INTERSECT
SELECT region_id FROM countries
ORDER BY region_id;
Sample Output:
REGION_ID ---------- 1 2 3 4
MINUS Operator:
All distinct rows selected by the first query but not the second
Sample table: countries
Sample table: locations
Example:
SELECT country_id FROM countries
MINUS
SELECT country_id FROM locations
ORDER BY country_id;
Sample Output:
COUNTRY_ID --------------- AR BE DK EG FR IL KW ML NG ZM ZW
Previous:
Hierarchical Query Operators
Next:
Oracle Numeric Functions Introduction
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/oracle/operators/oracle-set-operators.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics