Heim >Datenbank >MySQL-Tutorial >Wie kann ich vermisste Mitarbeiter mithilfe des SQL-Operators NOT EXISTS finden?
Identifizieren fehlender Mitarbeiter mit „SELECT * WHERE NOT EXISTS“
Die vorliegende Aufgabe besteht darin, Mitarbeiter aus einer Tabelle (Mitarbeiter) zu identifizieren, deren Namen nicht in einer anderen Tabelle erscheinen (eotm_dyn). Ziel ist es, eine Liste der abwesenden Mitarbeiter aus der Tabelle eotm_dyn abzurufen.
Verwendung des Operators „NOT EXISTS“
Der Operator „NOT EXISTS“ wird verwendet in der bereitgestellten Abfrage, um festzustellen, ob einem Datensatz in der Mitarbeitertabelle ein entsprechender Eintrag in der eotm_dyn-Tabelle fehlt. Die Syntax lautet wie folgt:
SELECT * FROM employees WHERE NOT EXISTS ( SELECT name FROM eotm_dyn WHERE employees.id = eotm_dyn.employeeID )
Behebung des Fehlers
Die ursprüngliche Abfrage lieferte keine Ergebnisse aufgrund einer entscheidenden Auslassung: der fehlenden Verbindung zwischen den Mitarbeitern und eotm_dyn-Tabellen. Um dies zu beheben, muss eine Join-Bedingung angegeben werden. Die einfachste Möglichkeit besteht darin, die Tabellen in ihrem gemeinsamen Feld zu verknüpfen, das scheinbar „employeeID“ zu sein scheint.
Die korrigierte Abfrage
Unter Einbeziehung der Join-Bedingung wird die korrigierte Abfrage zu:
SELECT * FROM employees e WHERE NOT EXISTS ( SELECT NULL FROM eotm_dyn d WHERE d.employeeID = e.id )
Diese Abfrage gibt alle Mitarbeiter in der Mitarbeitertabelle zurück, die in der Tabelle eotm_dyn abwesend sind und die ursprüngliche Aufgabe erfüllen zur Identifizierung vermisster Mitarbeiter.
Das obige ist der detaillierte Inhalt vonWie kann ich vermisste Mitarbeiter mithilfe des SQL-Operators NOT EXISTS finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!