SQL | MINUS Operatör

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 :

sql-minus

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.

Notera :

  • MINUS-operatorn stöds i Oracle men stöds inte i SQL Server eller PostgreSQL.
  • För dessa databaser använd EXCEPT operatör som ett alternativ.
Skapa frågesport