Rumah >pangkalan data >tutorial mysql >Mengapa SQL Saya Sertai Pertanyaan Mengembalikan Ralat 'Nama Tidak Dikenali'?

Mengapa SQL Saya Sertai Pertanyaan Mengembalikan Ralat 'Nama Tidak Dikenali'?

Susan Sarandon
Susan Sarandonasal
2025-01-16 16:02:10863semak imbas

Why Does My SQL Join Query Return an

Pertanyaan Sertai SQL: Menyelesaikan Masalah Ralat "Nama Tidak Dikenali"

Pertanyaan sertaan SQL kadangkala boleh menimbulkan ralat "Nama tidak dikenali", selalunya mengelirukan pembangun. Ini biasanya berlaku apabila nama jadual atau lajur tidak layak atau diberi alias dengan betul. Mari kita periksa kajian kes:

Pertanyaan berikut menghasilkan ralat "Nama tidak dikenali: pekerja di [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>

Memahami Ralat

Mesej ralat menghala ke baris 9, lajur 8, menunjukkan bahawa "pekerja" tidak dikenali. Ini disebabkan oleh kekurangan pengalsan jadual yang betul atau kelayakan penuh dalam klausa ON.

Kepentingan Aliasing

Menggunakan alias dalam SQL adalah penting, terutamanya dalam gabungan. Alias ​​memberikan nama yang unik dan tidak jelas untuk jadual dan lajur, menghalang konflik apabila berbilang jadual terlibat.

Membetulkan Pertanyaan

Untuk membetulkan ralat, kita mesti alias jadual "Pekerja" dan "jabatan" dalam klausa FROM:

<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>

Dengan alias ditambahkan (AS employees dan AS departments), pertanyaan harus dilaksanakan dengan betul, mengembalikan data yang dijangkakan.

Atas ialah kandungan terperinci Mengapa SQL Saya Sertai Pertanyaan Mengembalikan Ralat 'Nama Tidak Dikenali'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn