SQL | Operator MINUS
Operator MINUS se uporablja z dvema SELECT izjave, ki vrnejo samo tiste vrstice iz prve poizvedbe, ki niso prisotne v drugi. Filtrira vse skupne vrstice in obdrži samo edinstvene vrstice iz prvega niza rezultatov.
Slikovna predstavitev :
Kot lahko vidite, bo v zgornjem diagramu operater MINUS vrnil samo tiste vrstice, ki so prisotne v nizu rezultatov iz Tabele1 in niso prisotne v nizu rezultatov Tabele2.
Sintaksa:
SELECT column1 column2 ... columnN
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];V zgornji sintaksi
- Prvi IZBERI: Pridobi določene stolpce (stolpec1 stolpec2 ... stolpecN) iz ime_tabele1, ki so po izbiri filtrirani s pogojem WHERE.
- MINUS: Operator MINUS vrne vrstice iz prve poizvedbe, ki niso prisotne v drugi poizvedbi.
- Drugi SELECT: Pridobi iste stolpce iz table_name2, po izbiri filtrirane s pogojem WHERE.
- Izhod: Rezultat vključuje vrstice iz table_name1, ki ne obstajajo v table_name2. Dvojniki so odstranjeni iz končnega rezultata.
Mize :
Tabela 1
| Ime | Naslov | Starost | Ocena |
|---|---|---|---|
| Hudo | Delhi | 20 | A |
| Gaurav | Jaipur | 21 | B |
| Vadite | Mumbai | 21 | A |
| Dhanraj | Kolkata | 22 | B |
Tabela 2
| Ime | Starost | Telefon | Ocena |
|---|---|---|---|
| Akaša | 20 | XXXXXXXXX | A |
| Dheeraj | 21 | XXXXXXXXX | B |
| Vaibhav | 21 | XXXXXXXXX | A |
| Dhanraj | 22 | XXXXXXXXX | B |
Poizvedbe :
SELECT NAME AGE GRADE
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;
Izhod:
| Ime | Starost | Ocena |
|---|---|---|
| Hudo | 20 | A |
| Gaurav | 21 | B |
| Vadite | 21 | A |
V tej poizvedbi:
- Vrne samo vrstice, ki so edinstvene za tabelo1.
- Če je zadnja vrstica v obeh tabelah enaka, je izključena iz rezultata. Tako bodo vrnjene le prve tri vrstice iz tabele 1.
Ustvari kvizOpomba :
- Operator MINUS je podprt v Oracle, ni pa podprt v SQL Server ali PostgreSQL.
- Za te baze podatkov uporabite
EXCEPToperater kot alternativa.