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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.