PostgreSQL EXCEPT Operator

Sammanfattning: I den här handledningen kommer du att lära dig hur du använder PostgreSQL EXCEPT operatorn för att returnera de rader i den första frågan som inte visas i resultatet av den andra frågan.

Introduktion till PostgreSQLs EXCEPT-operator

I likhet med UNION- och INTERSECT-operatorerna returnerar EXCEPT-operatorn rader genom att jämföra resultatuppsättningarna från två eller flera frågor.

Operatorn EXCEPT returnerar distinkta rader från den första (vänstra) frågan som inte finns i resultatet från den andra (högra) frågan.

Nedan illustreras syntaxen för EXCEPT-operatören.

Code language: SQL (Structured Query Language) (sql)

De frågor som involverar EXCEPT måste följa dessa regler:

  • Antalet kolumner och deras ordningsföljd måste vara detsamma i de två frågorna.
  • Datatyperna för respektive kolumner måste vara kompatibla.

Följande Venn-diagram illustrerar EXCEPT-operatören:

PostgreSQL EXCEPT-operatorn exempel

Vi kommer att använda tabellerna top_rated_films och most_popular_films som skapades i UNION handledningen:

Tabellen top_rated_films:

Tabellen most_popular_films:

Följande uttalande använder EXCEPT-operatorn för att hitta de högst rankade filmerna som inte är populära:

Code language: SQL (Structured Query Language) (sql)

Följande uttalande använder ORDER BY-klausulen i frågan för att sortera de resultatmängder som returneras av EXCEPT-operatorn:

Code language: SQL (Structured Query Language) (sql)

Märk att vi har placerat ORDER BY-klausulen i slutet av uttalandet för att sortera filmer efter titel.

Sammanfattning

  • Använd PostgreSQL-operatorn EXCEPT för att hämta de rader från den första frågan som inte finns med i resultatmängden från den andra frågan.
  • Har du haft nytta av den här handledningen?
  • JaNej

Lämna ett svar

Din e-postadress kommer inte publiceras.