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

SELEZIONA * DOVE NON ESISTE

Non ti sei unito al tavolo nella tua query.

La tua query originale non restituirà sempre nulla a meno che non ci siano record in eotm_dyn , nel qual caso restituirà tutto.

Supponendo che queste tabelle debbano essere unite su employeeID , utilizzare quanto segue:

SELECT  *
FROM    employees e
WHERE   NOT EXISTS
        (
        SELECT  null 
        FROM    eotm_dyn d
        WHERE   d.employeeID = e.id
        )

Puoi unirti a questi tavoli con un LEFT JOIN parola chiave e filtrare il NULL 's, ma questo sarà probabilmente meno efficiente rispetto all'utilizzo di NOT EXISTS .