Mysql
 sql >> Base de données >  >> RDS >> Mysql

SÉLECTIONNER * OÙ N'EXISTE PAS

Vous n'avez pas rejoint la table dans votre requête.

Votre requête d'origine ne renverra toujours rien à moins qu'il n'y ait aucun enregistrement dans eotm_dyn , auquel cas il renverra tout.

En supposant que ces tables doivent être jointes sur employeeID , utilisez ce qui suit :

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

Vous pouvez joindre ces tables avec un LEFT JOIN mot-clé et filtrez le NULL 's, mais cela sera probablement moins efficace que d'utiliser NOT EXISTS .