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

Rejoindre MySQL là où il n'existe pas

J'utiliserais probablement un LEFT JOIN , qui renverra des lignes même s'il n'y a pas de correspondance, puis vous pouvez sélectionner uniquement les lignes sans correspondance en vérifiant NULL s.

Donc, quelque chose comme :

SELECT V.*
FROM voter V LEFT JOIN elimination E ON V.id = E.voter_id
WHERE E.voter_id IS NULL

Que ce soit plus ou moins efficace que d'utiliser une sous-requête dépend de l'optimisation, des index, de la possibilité d'avoir plus d'une élimination par électeur, etc.