PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 03/10/2024 14:25:05

dba-sig-sfepm
Membre

left join ou not in

Bonjour la communauté,
je voudrais savoir s'il y a une différence algorithmique majeure entre ces 2 requêtes :

select table1.* from table1 left join table2 using (id) where table2.id is null

et

select * from table1 where id not in (select id from table2)

Je demande ça car d'après moi le résultat de ces 2 requêtes devraient être identiques mais apparemment je me trompe. Je fais ce type de requête pour tester la présence d'uuid entre 2 tables et alors que la première me renvoie le résultat attendu, la deuxième renvoie 0 lignes. Quelque chose doit m'échapper ...

Hors ligne

#2 04/10/2024 03:52:09

rjuju
Administrateur

Re : left join ou not in

Bonjour,

La difference vient de la gestion des NULL avec une clause IN.  Votre table2 doitt contenir des enregistrements ou id est NULL.

Hors ligne

Pied de page des forums