首頁 >資料庫 >mysql教程 >如何使用 SQL 的 NOT EXISTS 運算子尋找失蹤員工?

如何使用 SQL 的 NOT EXISTS 運算子尋找失蹤員工?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-29 09:10:15419瀏覽

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

使用「SELECT * WHERE NOT EXISTS」識別失蹤員工

目前的任務涉及從一張表(員工)中識別其姓名的員工不會出現在另一個表(eotm_dyn)。目標是檢索 eotm_dyn 表中缺勤的員工清單。

使用「NOT EXISTS」運算子

使用「NOT EXISTS」運算子在提供的查詢中確定員工表中的記錄是否缺少eoeotm_dyn 表中的對應條目。語法如下:

SELECT *
FROM employees
WHERE NOT EXISTS (
    SELECT name
    FROM eotm_dyn
    WHERE employees.id = eotm_dyn.employeeID
)

解決錯誤

由於關鍵的遺漏,原始查詢沒有返回任何結果:員工之間缺少聯接和 eotm_dyn 表。為了解決這個問題,必須指定連線條件。最簡單的選擇是在公共欄位上連接表,該欄位似乎是employeeID。

更正的查詢

合併連接條件,更正的查詢將變為:

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

此查詢將傳回僱員表中缺少eotm_dyn表的所​​有僱員,完成了最初尋找失蹤員工的任務。

以上是如何使用 SQL 的 NOT EXISTS 運算子尋找失蹤員工?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn