PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Utilisation de la clause EXCEPT dans PostgreSQL

Votre requête semble parfaitement valide :

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

noms des colonnes sont sans rapport avec la requête. Uniquement les types de données doit correspondre. Le nom de la colonne de sortie de votre requête est fk_id_tbl2 , simplement parce que c'est le nom de la colonne dans le premier SELECT . Vous pouvez utiliser n'importe quel alias.

Ce qui est souvent négligé :les différences subtiles entre EXCEPT (qui plie les doublons) et EXCEPT ALL - qui conserve toutes les lignes individuelles sans correspondance.Plus d'explications et d'autres façons de faire de même, certaines d'entre elles beaucoup plus flexibles :

  • Sélectionnez les lignes qui ne sont pas présentes dans un autre tableau

Détails pour EXCEPT dans le manuel.