Operátor PostgreSQL EXCEPT
Shrnutí: V tomto kurzu se naučíte používat operátor PostgreSQL EXCEPT
pro vrácení řádků z prvního dotazu, které se neobjeví ve výstupu druhého dotazu.
Úvod do operátoru PostgreSQL EXCEPT
Operátor EXCEPT
podobně jako operátory UNION a INTERSECT vrací řádky porovnáním výsledkových sad dvou nebo více dotazů.
Operátor EXCEPT
vrací odlišné řádky z prvního (levého) dotazu, které nejsou ve výstupu druhého (pravého) dotazu.
Následující obrázek ilustruje syntaxi operátoru EXCEPT
.
Code language: SQL (Structured Query Language) (sql)
Dotazy, které zahrnují operátor EXCEPT
, musí dodržovat tato pravidla:
- Počet sloupců a jejich pořadí musí být v obou dotazech stejné.
- Datové typy příslušných sloupců musí být kompatibilní.
Následující Vennův diagram znázorňuje operátor EXCEPT
:
Příklady operátoru EXCEPT v databázi PostgreSQL
Použijeme tabulky top_rated_films
a most_popular_films
vytvořené v kurzu UNION
:
Tabulka top_rated_films
:
Tabulka most_popular_films
:
Následující příkaz používá operátor EXCEPT
k vyhledání nejlépe hodnocených filmů, které nejsou populární:
Code language: SQL (Structured Query Language) (sql)
Následující příkaz používá klauzuli ORDER BY
v dotazu k seřazení souborů výsledků vrácených operátorem EXCEPT
:
Code language: SQL (Structured Query Language) (sql)
Všimněte si, že jsme na konec příkazu umístili klauzuli ORDER BY, abychom seřadili filmy podle názvu.
Souhrn
- Pomocí operátoru PostgreSQL
EXCEPT
získáme řádky z prvního dotazu, které se neobjevují v množině výsledků druhého dotazu.
- Byl tento návod užitečný?