Oracle 19c SQL

  1. Home
  2. Docs
  3. Oracle 19c SQL
  4. 6 SET Operators
  5. 6.2 UNION

6.2 UNION

UNION combines the results of two queries and eliminates duplicate rows from the result set.

SELECT 1 AS Value  FROM DUAL UNION
SELECT 2 AS Value2 FROM DUAL UNION
SELECT 3 AS Value3 FROM DUAL UNION
SELECT 2 AS Value4 FROM DUAL UNION
SELECT 1 AS Value5 FROM DUAL UNION
SELECT 5 AS Value6 FROM DUAL UNION
SELECT 4 AS Value7 FROM DUAL UNION
SELECT 1 FROM DUAL
ORDER BY 1;

     VALUE
----------
	 1
	 2
	 3
	 4
	 5

--1st query
SELECT Ename FROM Emp WHERE Deptno = 20;

ENAME
----------
JONES
SCOTT
FORD
SMITH
ADAMS


--2nd query
SELECT Ename FROM Emp WHERE Job = 'CLERK';

ENAME
----------
SMITH
ADAMS
JAMES
MILLER

When you combine above component queries through UNION, result set will be all distinct rows. That means UNION removes duplicates.

The removal of duplicates requires extra processing, so you should consider using UNION ALL where ever possible.

SELECT Ename FROM Emp WHERE Deptno = 20
UNION 
SELECT Ename FROM Emp WHERE Job = 'CLERK';

ENAME
----------
ADAMS
FORD
JAMES
JONES
MILLER
SCOTT
SMITH

7 rows selected.
Was this article helpful to you? Yes No

How can we help?