SQL | MINUS Operatør

SQL | MINUS Operatør

MINUS-operatøren brukes med to SELECT setninger for å returnere bare de radene fra den første spørringen som ikke er til stede i den andre. Den filtrerer ut alle vanlige rader og beholder bare de unike radene fra det første resultatsettet.

Bildefremstilling :

sql-minus

Som du kan se er i diagrammet ovenfor, vil MINUS-operatoren bare returnere de radene som er tilstede i resultatsettet fra Tabell1 og ikke til stede i resultatsettet til Tabell2.

Syntaks:

 SELECT column1 column2 ... columnN   
FROM table_name1
[WHERE condition]
MINUS
SELECT column1 column2 ... columnN
FROM table_name2
[WHERE condition];

I syntaksen ovenfor

  • Først VELG: Henter spesifiserte kolonner (kolonne1 kolonne2 ... kolonneN) fra tabellnavn1, eventuelt filtrert av en WHERE-betingelse.
  • MINUS: MINUS-operatoren returnerer rader fra den første spørringen som ikke er til stede i den andre spørringen.
  • Andre SELECT: Henter de samme kolonnene fra tabellnavn2, eventuelt filtrert av en WHERE-betingelse.
  • Produksjon: Resultatet inkluderer rader fra tabellnavn1 som ikke finnes i tabellnavn2. Duplikater fjernes fra den endelige utgangen.

Tabeller :

Tabell 1

Navn

Adresse

Alder

Karakter

Barsk

delhi

20

EN

Gaurav

jaipur

21

B

Øv

mumbai

21

EN

Dhanraj

kolkata

22

B

Tabell 2

Navn

Alder

Telefon

Karakter

Akash

20

XXXXXXXXX

EN

Dheeraj

21

XXXXXXXXX

B

Vaibhav

21

XXXXXXXXX

EN

Dhanraj

22

XXXXXXXXX

B

Forespørsler :

 SELECT NAME AGE GRADE   
FROM Table1
MINUS
SELECT NAME AGE GRADE
FROM Table2;

Produksjon:

Navn

Alder

Karakter

Barsk

20

EN

Gaurav

21

B

Øv

21

EN

I denne spørringen:

  • Returnerer bare radene som er unike for Tabell1.
  • Hvis den siste raden i begge tabellene er lik, blir den ekskludert fra resultatet. Dermed vil bare de tre første radene fra Tabell 1 bli returnert.

Note :

  • MINUS-operatøren støttes i Oracle, men støttes ikke i SQL Server eller PostgreSQL.
  • For disse databasene bruk EXCEPT operatør som et alternativ.
Lag quiz