首頁 >資料庫 >mysql教程 >為什麼我的 SQL 連線查詢會傳回「無法辨識的名稱」錯誤?

為什麼我的 SQL 連線查詢會傳回「無法辨識的名稱」錯誤?

Susan Sarandon
Susan Sarandon原創
2025-01-16 16:02:10863瀏覽

Why Does My SQL Join Query Return an

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 employeesAS departments)後,查詢應該正確執行,並傳回預期的資料。

以上是為什麼我的 SQL 連線查詢會傳回「無法辨識的名稱」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn