Shrnutí :v tomto tutoriálu se naučíte používat SQLite EXCEPT
operátor.
Úvod do SQLite EXCEPT
operátor
SQLite EXCEPT
Operátor porovná sady výsledků dvou dotazů a vrátí odlišné řádky z levého dotazu, které nejsou na výstupu pravého dotazu.
Následující text ukazuje syntaxi EXCEPT
operátor:
SELECT select_list1
FROM table1
EXCEPT
SELECT select_list2
FROM table2
Code language: SQL (Structured Query Language) (sql)
Tento dotaz musí splňovat následující pravidla:
- Za prvé, počet sloupců ve výběrových seznamech obou dotazů musí být stejný.
- Za druhé, pořadí sloupců a jejich typy musí být srovnatelné.
Následující příkazy vytvoří dvě tabulky t1
a t2
a vložte některá data do obou tabulek:
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
Následující prohlášení ukazuje, jak používat EXCEPT
operátor pro porovnání sad výsledků dvou dotazů:
SELECT v1
FROM t1
EXCEPT
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Výstup je 1.
Následující obrázek ilustruje EXCEPT
operace:
SQLite EXCEPT
příklady
Použijeme artists
a albums
tabulky z ukázkové databáze pro ukázku.
Následující příkaz najde ID interpretů umělců, kteří nemají žádné album v albums
tabulka:
SELECT ArtistId
FROM artists
EXCEPT
SELECT ArtistId
FROM albums;
Code language: SQL (Structured Query Language) (sql)
Výstup je následující:
V tomto tutoriálu jste se naučili používat SQLite EXCEPT
operátor k porovnání dvou dotazů a vrácení jedinečných řádků z levého dotazu, které nejsou zobrazeny pravým dotazem.