Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL Join onde não existe


Eu provavelmente usaria um LEFT JOIN , que retornará linhas mesmo se não houver correspondência e, em seguida, você poderá selecionar apenas as linhas sem correspondência verificando NULL s.

Então, algo como:
SELECT V.*
FROM voter V LEFT JOIN elimination E ON V.id = E.voter_id
WHERE E.voter_id IS NULL

Se isso é mais ou menos eficiente do que usar uma subconsulta depende da otimização, índices, se é possível ter mais de uma eliminação por eleitor, etc.