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