Identification des employés manquants à l'aide de "SELECT * WHERE NOT EXISTS"
La tâche à accomplir consiste à identifier les employés d'une table (employés) dont les noms n'apparaissent pas dans une autre table (eotm_dyn). L'objectif est de récupérer une liste des salariés absents de la table eotm_dyn.
Utilisation de l'opérateur "NON EXISTE"
L'opérateur "NON EXISTE" est employé dans la requête fournie pour déterminer si un enregistrement de la table des employés ne dispose pas d'une entrée correspondante dans la table eotm_dyn. La syntaxe est la suivante :
SELECT * FROM employees WHERE NOT EXISTS ( SELECT name FROM eotm_dyn WHERE employees.id = eotm_dyn.employeeID )
Corriger l'erreur
La requête d'origine n'a renvoyé aucun résultat en raison d'une omission cruciale : l'absence de jointure entre les employés et les tables eotm_dyn. Pour remédier à cela, une condition de jointure doit être spécifiée. L'option la plus simple consiste à joindre les tables sur leur champ commun, qui semble être EmployeeID.
La requête corrigée
Incorporant la condition de jointure, la requête corrigée devient :
SELECT * FROM employees e WHERE NOT EXISTS ( SELECT NULL FROM eotm_dyn d WHERE d.employeeID = e.id )
Cette requête renverra tous les employés de la table des employés qui sont absents de la table eotm_dyn, accomplissant ainsi la tâche initiale de identifier les employés disparus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!