sql >> Databasteknik >  >> RDS >> PostgreSQL

Använder EXCEPT-satsen i PostgreSQL

Din fråga verkar helt giltig:

SELECT fk_id_tbl2 AS some_name
FROM   table1
EXCEPT  -- you may want to use EXCEPT ALL
SELECT pk_id
FROM   table2;

Kolumn namn är irrelevanta för frågan. Endast datatyper måste matcha. Utdatakolumnnamnet för din fråga är fk_id_tbl2 , bara för att det är kolumnnamnet i den första SELECT . Du kan använda vilket alias som helst.

Det som ofta förbises:de subtila skillnaderna mellan EXCEPT (som viker dubbletter) och EXCEPT ALL - som håller alla individuella rader omatchade. Fler förklaringar och andra sätt att göra detsamma, några av dem mycket mer flexibla:

  • Välj rader som inte finns i andra tabeller

Detaljer för EXCEPT i manualen.




  1. Hur man hanterar PDO-undantag

  2. SQL, Hantera tomma celler

  3. När ska man använda klustrade eller icke-klustrade index i SQL Server

  4. Hur REGEXP_REPLACE() fungerar i MariaDB