SQL | Operátor MINUS
Operátor MINUS sa používa pri dvoch SELECT príkazy vrátiť iba tie riadky z prvého dotazu, ktoré sa nenachádzajú v druhom. Odfiltruje všetky bežné riadky a ponechá len jedinečné riadky z prvej sady výsledkov.
Obrazové znázornenie :
Ako môžete vidieť na vyššie uvedenom diagrame, operátor MINUS vráti iba tie riadky, ktoré sú prítomné v množine výsledkov z tabuľky 1 a nie sú prítomné v sade výsledkov z tabuľky 2.
Syntax:
SELECT column1 column2 ... columnN
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];Vo vyššie uvedenej syntaxi
- Prvý SELECT: Načíta špecifikované stĺpce (stĺpec1 stĺpec2 ... stĺpecN) z table_name1 voliteľne filtrované podľa podmienky WHERE.
- MINUS: Operátor MINUS vráti riadky z prvého dotazu, ktoré nie sú prítomné v druhom dotaze.
- Druhý VÝBER: Načíta rovnaké stĺpce z table_name2 voliteľne filtrované podľa podmienky WHERE.
- výstup: Výsledok obsahuje riadky z table_name1, ktoré neexistujú v table_name2. Z konečného výstupu sa odstránia duplikáty.
Tabuľky :
Tabuľka 1
| Meno | Adresa | Vek | stupňa |
|---|---|---|---|
| Drsné | Dillí | 20 | A |
| Gaurav | jaipur | 21 | B |
| Prax | mumbai | 21 | A |
| Dhanraj | kolkata | 22 | B |
Tabuľka 2
| Meno | Vek | Telefón | stupňa |
|---|---|---|---|
| Akáša | 20 | XXXXXXXXX | A |
| Dheeraj | 21 | XXXXXXXXX | B |
| Vaibhav | 21 | XXXXXXXXX | A |
| Dhanraj | 22 | XXXXXXXXX | B |
Dotazy :
SELECT NAME AGE GRADE
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;
výstup:
| Meno | Vek | stupňa |
|---|---|---|
| Drsné | 20 | A |
| Gaurav | 21 | B |
| Prax | 21 | A |
V tomto dotaze:
- Vráti iba riadky, ktoré sú jedinečné pre tabuľku1.
- Ak je posledný riadok v oboch tabuľkách rovnaký, je z výsledku vylúčený. Vrátia sa teda iba prvé tri riadky z Tabuľky1.
Vytvoriť kvízPoznámka :
- Operátor MINUS je podporovaný v Oracle, ale nie je podporovaný v SQL Server alebo PostgreSQL.
- Pre tieto databázy použite
EXCEPToperátora ako alternatívu.