ホームページ >データベース >mysql チュートリアル >SQL の NOT EXISTS 演算子を使用して行方不明の従業員を見つけるにはどうすればよいですか?
「SELECT * WHERE NOT EXISTS」を使用した行方不明の従業員の特定
当面のタスクには、1 つのテーブル (従業員) から名前が記載されている従業員を特定することが含まれます。別のテーブル (eotm_dyn) には現れません。目的は、eotm_dyn テーブルから欠勤している従業員のリストを取得することです。
「NOT EXISTS」演算子の使用
「NOT EXISTS」演算子が使用されています提供されたクエリで、employees テーブルのレコードに eotm_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 中国語 Web サイトの他の関連記事を参照してください。