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!