sql >> Databáze >  >> RDS >> Mysql

VYBERTE * KDE NEEXISTUJE

Ve svém dotazu jste se nepřipojili k tabulce.

Váš původní dotaz vždy nic nevrátí, pokud v eotm_dyn nejsou vůbec žádné záznamy , v takovém případě vrátí vše.

Za předpokladu, že by tyto tabulky měly být spojeny na employeeID , použijte následující:

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

Tyto tabulky můžete připojit pomocí LEFT JOIN klíčové slovo a odfiltrujte NULL 's, ale to bude pravděpodobně méně efektivní než použití NOT EXISTS .



  1. Příklady LOG10() v SQL Server

  2. 11 Běžné příkazy SQL se základními příklady

  3. Vypnutí a spuštění instance Oracle

  4. Nejlepší datový typ pro ukládání peněžních hodnot v MySQL