SQL | MINUS operator

SQL | MINUS operator

Operator MINUS koristi se s dva SELECT naredbe za vraćanje samo onih redaka iz prvog upita koji nisu prisutni u drugom. Filtrira sve uobičajene retke i zadržava samo jedinstvene retke iz prvog skupa rezultata.

Slikovni prikaz :

sql-minus

Kao što vidite, na gornjem dijagramu operator MINUS vratit će samo one retke koji su prisutni u skupu rezultata iz Tablice1, a nisu prisutni u skupu rezultata Tablice2.

Sintaksa:

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

U gornjoj sintaksi

  • Prvi SELECT: Dohvaća navedene stupce (stupac1 stupac2 ... stupacN) iz table_name1 opcionalno filtrirane uvjetom WHERE.
  • MINUS: Operator MINUS vraća retke iz prvog upita koji nisu prisutni u drugom upitu.
  • Drugi SELECT: Dohvaća iste stupce iz table_name2 izborno filtrirane uvjetom WHERE.
  • Izlaz: Rezultat uključuje retke iz table_name1 koji ne postoje u table_name2. Duplikati se uklanjaju iz konačnog izlaza.

Stolovi :

Tablica 1

Ime

Adresa

Dob

Razred

Oštro

Delhi

20

A

Gaurav

Jaipur

21

B

Praksa

Mumbai

21

A

Dhanraj

Kolkata

22

B

Tablica 2

Ime

Dob

Telefon

Razred

Akaša

20

XXXXXXXXX

A

Dheeraj

21

XXXXXXXXX

B

Vaibhav

21

XXXXXXXXX

A

Dhanraj

22

XXXXXXXXX

B

Upiti :

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

Izlaz:

Ime

Dob

Razred

Oštro

20

A

Gaurav

21

B

Praksa

21

A

U ovom upitu:

  • Vraća samo retke koji su jedinstveni za tablicu1.
  • Ako je posljednji redak u obje tablice isti, isključuje se iz rezultata. Stoga će biti vraćena samo prva tri retka iz Tablice 1.

Bilješka :

  • Operator MINUS podržan je u Oracleu, ali nije podržan u SQL Serveru ili PostgreSQL-u.
  • Za te baze podataka koristite EXCEPT operater kao alternativa.
Napravi kviz