SQL | Operatore MENO
L'operatore MINUS viene utilizzato con due SELECT istruzioni per restituire solo le righe della prima query che non sono presenti nella seconda. Filtra tutte le righe comuni e mantiene solo le righe univoche del primo set di risultati.
Rappresentazione pittorica :
Come puoi vedere nel diagramma sopra, l'operatore MENO restituirà solo le righe presenti nel set di risultati della Tabella1 e non presenti nel set di risultati della Tabella2.
Sintassi:
SELECT column1 column2 ... columnN
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];Nella sintassi sopra
- Prima SELEZIONA: Recupera le colonne specificate (colonna1 colonna2 ... colonnaN) da nome_tabella1 facoltativamente filtrate da una condizione WHERE.
- MENO: L'operatore MINUS restituisce le righe della prima query che non sono presenti nella seconda query.
- Seconda SELEZIONE: Recupera le stesse colonne da table_name2 facoltativamente filtrate da una condizione WHERE.
- Produzione: Il risultato include le righe di table_name1 che non esistono in table_name2. I duplicati vengono rimossi dall'output finale.
Tabelle :
Tabella 1
| Nome | Indirizzo | Età | Grado |
|---|---|---|---|
| Duro | delhi | 20 | UN |
| Gaurav | Jaipur | 21 | B |
| Pratica | Mumbai | 21 | UN |
| Dhanraj | Calcutta | 22 | B |
Tabella 2
| Nome | Età | Telefono | Grado |
|---|---|---|---|
| Akash | 20 | XXXXXXXXX | UN |
| Dheeraj | 21 | XXXXXXXXX | B |
| Vaibhav | 21 | XXXXXXXXX | UN |
| Dhanraj | 22 | XXXXXXXXX | B |
Domande :
SELECT NAME AGE GRADE
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;
Produzione:
| Nome | Età | Grado |
|---|---|---|
| Duro | 20 | UN |
| Gaurav | 21 | B |
| Pratica | 21 | UN |
In questa domanda:
- Restituisce solo le righe univoche per Tabella1.
- Se l'ultima riga in entrambe le tabelle è la stessa, viene esclusa dal risultato. Pertanto verranno restituite solo le prime tre righe della Tabella1.
Crea quizNota :
- L'operatore MINUS è supportato in Oracle ma non è supportato in SQL Server o PostgreSQL.
- Per questi database utilizzare il file
EXCEPToperatore in alternativa.