Prawdopodobnie użyłbym LEFT JOIN
, który zwróci wiersze, nawet jeśli nie ma dopasowania, a następnie możesz wybrać tylko wiersze bez dopasowania, sprawdzając NULL
s.
A więc coś takiego:
SELECT V.*
FROM voter V LEFT JOIN elimination E ON V.id = E.voter_id
WHERE E.voter_id IS NULL
To, czy jest to mniej lub bardziej wydajne niż użycie podzapytania, zależy od optymalizacji, indeksów, czy możliwe jest posiadanie więcej niż jednej eliminacji na głosującego itp.