Heim >Datenbank >MySQL-Tutorial >Wie kann ich vermisste Mitarbeiter mithilfe des SQL-Operators NOT EXISTS finden?

Wie kann ich vermisste Mitarbeiter mithilfe des SQL-Operators NOT EXISTS finden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 09:10:15419Durchsuche

How Can I Find Missing Employees Using SQL's NOT EXISTS Operator?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn