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.