RelationalDBDesign
RelationalDBDesign

Select Statement
«Prev
Next»

## UNION, INTERSECT, and MINUS SQL Operations

## UNION, INTERSECT, and MINUS SQL Operations

### Differences between commands

### Command rules

### Intersect union minus Operations

Lesson 4 | UNION, INTERSECT, and MINUS |

Objective | Compare the INTERSECT, MINUS, and UNION commands. |

How do you combine the results of two separate queries?
Oracle provides three commands,

`UNION`

,`INTERSECT`

and`MINUS`

,

Command | Description |

`UNION` | The most commonly used command, `UNION` combines the two answer sets into a single answer set. It automatically removes duplicate rows from the results. |

`INTERSECT` | `INTERSECT` gives you the rows that are found in both queries by eliminating rows that are only found in one or the other query. |

`MINUS` | `MINUS` gives you the rows that are found in the first query and not in the second query by removing from the results all the rows that are found only in the second query. |

The following animation shows you the difference between these three commands by using two circles to represent two query result sets, labeled
A and B. The animation shows which portions of the two result sets are returned by combining the two queries with each of the three set
commands: INTERSECT, then UNION, then MINUS.

There are two important rules to follow when using these commands:

Here is an example of two queries connected with the

- Both queries must have matching lists of columns with matching datatypes. In other words, if your first query returns three columns, a date, a number, and a character column, your second query must also return three columns: a date, a number, and a character column, in that order. The two queries do not need to use the same column names.
- The first query's list of columns is used for the final results set. If two corresponding columns in the two queries have different lengths, the first query is used to set the length of the final results set. If the second query's column is longer, you may get an error in your results due to data truncation.

Here is an example of two queries connected with the

`INTERSECT`

command:
SELECT TO_CHAR(LAST_UPDATE_DATE,'YYYY-MM'), UPDATED_BY_USER FROM PRODUCT INTERSECT SELECT TO_CHAR(LAST_UPDATE_DATETIME,'YYYY-MM'), CREATED_BY_USER FROM PET_CARE_LOG ORDER BY 1

This query finds the dates (year and month only) and the employee names that are the same for changes made to the

In the next lesson, you will learn how to use advanced set operators.

`PRODUCT`

table and log entries made to the `PET_CARE_LOG.`

In the next lesson, you will learn how to use advanced set operators.

Click the link below to read about the intersect, union, minus operations used in Oracle.

**Intersect, union, minus Operations**