Mysql
 sql >> Database >  >> RDS >> Mysql

Unisciti a MySQL dove non esiste

Probabilmente userei un LEFT JOIN , che restituirà le righe anche se non ci sono corrispondenze, quindi puoi selezionare solo le righe senza corrispondenze controllando NULL s.

Quindi, qualcosa come:

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

Il fatto che sia più o meno efficiente rispetto all'utilizzo di una sottoquery dipende dall'ottimizzazione, dagli indici, dalla possibilità di avere più di un'eliminazione per elettore, ecc.