SQL | MINUS Operatör
MINUS-operatorn används med två SELECT satser för att endast returnera de rader från den första frågan som inte finns i den andra. Den filtrerar bort alla vanliga rader och behåller endast de unika raderna från den första resultatuppsättningen.
Bildrepresentation :
Som du kan se i diagrammet ovan kommer MINUS-operatorn endast att returnera de rader som finns i resultatuppsättningen från Tabell1 och som inte finns i resultatuppsättningen av Tabell2.
Syntax:
SELECT column1 column2 ... columnN
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];I ovanstående syntax
- Första SELECT: Hämtar specificerade kolumner (kolumn1 kolumn2 ... kolumnN) från tabellnamn1, eventuellt filtrerade av ett WHERE-villkor.
- MINUS: MINUS-operatorn returnerar rader från den första frågan som inte finns i den andra frågan.
- Andra SELECT: Hämtar samma kolumner från tabellnamn2, eventuellt filtrerade av ett WHERE-villkor.
- Produktion: Resultatet inkluderar rader från tabellnamn1 som inte finns i tabellnamn2. Dubletter tas bort från den slutliga utgången.
Tabeller :
Tabell 1
| Namn | Adress | Åldras | Kvalitet |
|---|---|---|---|
| Hård | delhi | 20 | A |
| Gaurav | jaipur | 21 | B |
| Öva | mumbai | 21 | A |
| Dhanraj | kolkata | 22 | B |
Tabell 2
| Namn | Åldras | Telefon | Kvalitet |
|---|---|---|---|
| Akash | 20 | XXXXXXXXX | A |
| Dheeraj | 21 | XXXXXXXXX | B |
| Vaibhav | 21 | XXXXXXXXX | A |
| Dhanraj | 22 | XXXXXXXXX | B |
Frågor :
SELECT NAME AGE GRADE
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;
Produktion:
| Namn | Åldras | Kvalitet |
|---|---|---|
| Hård | 20 | A |
| Gaurav | 21 | B |
| Öva | 21 | A |
I den här frågan:
- Returnerar endast de rader som är unika för Tabell1.
- Om den sista raden i båda tabellerna är densamma exkluderas den från resultatet. Således kommer endast de tre första raderna från Tabell 1 att returneras.
Skapa frågesportNotera :
- MINUS-operatorn stöds i Oracle men stöds inte i SQL Server eller PostgreSQL.
- För dessa databaser använd
EXCEPToperatör som ett alternativ.