SQL | Operátor MINUS

SQL | Operátor MINUS

Operátor MINUS sa používa pri dvoch SELECT príkazy vrátiť iba tie riadky z prvého dotazu, ktoré sa nenachádzajú v druhom. Odfiltruje všetky bežné riadky a ponechá len jedinečné riadky z prvej sady výsledkov.

Obrazové znázornenie :

sql-mínus

Ako môžete vidieť na vyššie uvedenom diagrame, operátor MINUS vráti iba tie riadky, ktoré sú prítomné v množine výsledkov z tabuľky 1 a nie sú prítomné v sade výsledkov z tabuľky 2.

Syntax:

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

Vo vyššie uvedenej syntaxi

  • Prvý SELECT: Načíta špecifikované stĺpce (stĺpec1 stĺpec2 ... stĺpecN) z table_name1 voliteľne filtrované podľa podmienky WHERE.
  • MINUS: Operátor MINUS vráti riadky z prvého dotazu, ktoré nie sú prítomné v druhom dotaze.
  • Druhý VÝBER: Načíta rovnaké stĺpce z table_name2 voliteľne filtrované podľa podmienky WHERE.
  • výstup: Výsledok obsahuje riadky z table_name1, ktoré neexistujú v table_name2. Z konečného výstupu sa odstránia duplikáty.

Tabuľky :

Tabuľka 1

Meno

Adresa

Vek

stupňa

Drsné

Dillí

20

A

Gaurav

jaipur

21

B

Prax

mumbai

21

A

Dhanraj

kolkata

22

B

Tabuľka 2

Meno

Vek

Telefón

stupňa

Akáša

20

XXXXXXXXX

A

Dheeraj

21

XXXXXXXXX

B

Vaibhav

21

XXXXXXXXX

A

Dhanraj

22

XXXXXXXXX

B

Dotazy :

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

výstup:

Meno

Vek

stupňa

Drsné

20

A

Gaurav

21

B

Prax

21

A

V tomto dotaze:

  • Vráti iba riadky, ktoré sú jedinečné pre tabuľku1.
  • Ak je posledný riadok v oboch tabuľkách rovnaký, je z výsledku vylúčený. Vrátia sa teda iba prvé tri riadky z Tabuľky1.

Poznámka :

  • Operátor MINUS je podporovaný v Oracle, ale nie je podporovaný v SQL Server alebo PostgreSQL.
  • Pre tieto databázy použite EXCEPT operátora ako alternatívu.
Vytvoriť kvíz