SQL 連線查詢:排除「無法辨識的名稱」錯誤
SQL 連線查詢有時會拋出「無法辨識的名稱」錯誤,這常常讓開發人員感到困惑。當表名或列名未正確限定或使用別名時,通常會發生這種情況。讓我們來看一個案例研究:
以下查詢會產生「無法辨識的名稱:[9:8] 的員工」錯誤:
<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>
理解錯誤
錯誤訊息指向第9行第8列,表示無法辨識「employees」。 這是由於 ON
子句中缺乏適當的表別名或完整限定。
別名的重要性
在 SQL 中使用別名至關重要,尤其是在連線中。別名為表格和欄位提供唯一、明確的名稱,防止涉及多個表格時發生衝突。
更正查詢
要修復該錯誤,我們必須在 FROM
子句中為「Employees」和「departments」表格新增別名:
<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
)後,查詢應該正確執行,並傳回預期的資料。
以上是為什麼我的 SQL 連線查詢會傳回「無法辨識的名稱」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!