Mysql
 sql >> Baza danych >  >> RDS >> Mysql

WYBIERZ * GDZIE NIE ISTNIEJE

Nie dołączyłeś do tabeli w zapytaniu.

Twoje oryginalne zapytanie zawsze nic nie zwróci, chyba że w eotm_dyn nie ma żadnych rekordów , w takim przypadku zwróci wszystko.

Zakładając, że te tabele powinny być połączone na employeeID , użyj następującego:

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

Możesz dołączyć do tych stołów za pomocą LEFT JOIN słowo kluczowe i odfiltruj NULL s, ale prawdopodobnie będzie to mniej wydajne niż użycie NOT EXISTS .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przywrócić pojedynczą tabelę MySQL za pomocą mysqldump?

  2. Fałszywe ograniczenie klucza obcego nie działa

  3. Wprowadzenie do złączeń SQL

  4. Jaka jest różnica między MyISAM a InnoDB?

  5. MySQL, zaktualizuj wiele tabel za pomocą jednego zapytania