sql >> Databasteknik >  >> RDS >> Mysql

VÄLJ * DÄR INTE FINNS

Du gick inte med i tabellen i din fråga.

Din ursprungliga fråga kommer alltid att returnera ingenting om det inte finns några poster alls i eotm_dyn , i så fall kommer den att returnera allt.

Förutsatt att dessa tabeller bör sammanfogas på employeeID , använd följande:

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

Du kan gå med i dessa tabeller med en LEFT JOIN sökord och filtrera bort NULL 's, men detta kommer troligen att vara mindre effektivt än att använda NOT EXISTS .



  1. Hur gör jag topp 1 i Oracle?

  2. Skapa ett index på en enorm MySQL-produktionstabell utan tabelllåsning

  3. Oracle NULLIF() funktion

  4. Kolumnen ogiltig i urvalslistan eftersom den inte finns i vare sig en aggregatfunktion eller GROUP BY-satsen