解決 SQL 錯誤:「無法辨識的名稱:[9:8] 的員工」
此錯誤「無法辨識的名稱:[9:8] 的員工」通常會因為未定義的表別名而出現在 SQL 查詢中。 讓我們看看這是如何發生的以及如何解決它。
當在沒有正確別名的情況下引用表時,問題就會出現,特別是在 ON
的 JOIN
子句中。 考慮這個例子:
<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>
請注意,employees
和 departments
用於 ON
子句中,但在使用之前尚未正式定義為別名。
解:定義表別名
修正涉及使用 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>
透過添加 AS employees
和 AS departments
,我們清楚地定義了別名,解決了歧義並消除了「無法識別的名稱」錯誤。 這可確保資料庫了解 ON
子句中引用了哪些表。
以上是為什麼我的 SQL 查詢顯示「無法識別的姓名:[9:8] 的員工」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!