Dépannage de l'erreur SQL : « Nom non reconnu : employés à [9:8] »
Cette erreur « Nom non reconnu : employés à [9:8] » se produit généralement dans les requêtes SQL en raison d'un alias de table non défini. Examinons comment cela se produit et comment y remédier.
Le problème surgit lorsqu'une table est référencée sans alias approprié, en particulier dans la clause ON
d'un JOIN
. Prenons cet exemple :
<code class="language-sql">SELECT employees.name AS employee_name, employees.role AS employee_role, departments.name AS department_name FROM `strange-calling-318804.employee_data.Employees` JOIN `strange-calling-318804.employee_data.departments` ON employees.department_id = departments.department_id</code>
Notez que employees
et departments
sont utilisés dans la clause ON
, mais n'ont pas été formellement définis comme alias avant leur utilisation.
La solution : définir des alias de table
Le correctif implique l'attribution explicite d'alias à l'aide du mot-clé AS
:
<code class="language-sql">SELECT employees.name AS employee_name, employees.role AS employee_role, departments.name AS department_name FROM `strange-calling-318804.employee_data.Employees` AS employees JOIN `strange-calling-318804.employee_data.departments` AS departments ON employees.department_id = departments.department_id</code>
En ajoutant AS employees
et AS departments
, nous définissons clairement les alias, résolvant l'ambiguïté et éliminant l'erreur « Nom non reconnu ». Cela garantit que la base de données comprend quelles tables sont référencées dans la clause ON
.
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!