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
EXCEPTzí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ý?




