SQL | MINUS Operatorze

SQL | MINUS Operatorze

Operator MINUS jest używany z dwoma SELECT instrukcje zwracające tylko te wiersze z pierwszego zapytania, których nie ma w drugim. Filtruje wszystkie wspólne wiersze i zachowuje tylko unikalne wiersze z pierwszego zestawu wyników.

Reprezentacja obrazkowa :

sql-minus

Jak widać na powyższym diagramie, operator MINUS zwróci tylko te wiersze, które znajdują się w zestawie wyników z Tabeli 1 i nie występują w zestawie wyników z Tabeli 2.

Składnia:

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

W powyższej składni

  • Najpierw WYBIERZ: Pobiera określone kolumny (kolumna1 kolumna2 ... kolumnaN) z nazwa_tabeli1 opcjonalnie filtrowane według warunku WHERE.
  • MINUS: Operator MINUS zwraca wiersze z pierwszego zapytania, których nie ma w drugim zapytaniu.
  • Drugi WYBIERZ: Pobiera te same kolumny z nazwa_tabeli2, opcjonalnie filtrowane według warunku WHERE.
  • Wyjście: Wynik zawiera wiersze z tabeli nazwa_tabeli1, które nie istnieją w tabeli nazwa_tabeli2. Duplikaty są usuwane z ostatecznego wyniku.

Stoły :

Tabela 1

Nazwa

Adres

Wiek

Stopień

Szorstki

Delhi

20

A

Gaurav

Jaipur

21

B

Praktyka

Bombaj

21

A

Dhanraj

Kalkuta

22

B

Tabela 2

Nazwa

Wiek

Telefon

Stopień

Akash

20

XXXXXXXXX

A

Dheeraj

21

XXXXXXXXX

B

Vaibhav

21

XXXXXXXXX

A

Dhanraj

22

XXXXXXXXX

B

Zapytania :

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

Wyjście:

Nazwa

Wiek

Stopień

Szorstki

20

A

Gaurav

21

B

Praktyka

21

A

W tym zapytaniu:

  • Zwraca tylko wiersze, które są unikalne dla tabeli Table1.
  • Jeżeli ostatni wiersz w obu tabelach jest taki sam, zostanie on wykluczony z wyniku. Zatem zwrócone zostaną tylko pierwsze trzy wiersze z Tabeli 1.

Notatka :

  • Operator MINUS jest obsługiwany w Oracle, ale nie jest obsługiwany w SQL Server ani PostgreSQL.
  • W przypadku tych baz danych użyj metody EXCEPT operatora jako alternatywa.
Utwórz quiz