Вероятно бих използвал LEFT JOIN
, което ще върне редове, дори ако няма съвпадение, и след това можете да изберете само редовете без съвпадение, като проверите за NULL
с.
И така, нещо като:
SELECT V.*
FROM voter V LEFT JOIN elimination E ON V.id = E.voter_id
WHERE E.voter_id IS NULL
Дали това е повече или по-малко ефективно от използването на подзаявка зависи от оптимизацията, индексите, дали е възможно да има повече от едно елиминиране на гласоподавател и т.н.