Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan SQL Saya Menunjukkan 'Nama tidak dikenali: pekerja di [9:8]'?
Menyelesaikan masalah Ralat SQL: "Nama tidak dikenali: pekerja di [9:8]"
Ralat ini, "Nama tidak dikenali: pekerja di [9:8]," biasanya timbul dalam pertanyaan SQL disebabkan oleh alias jadual yang tidak ditentukan. Mari kita periksa bagaimana perkara ini berlaku dan cara membetulkannya.
Masalah timbul apabila jadual dirujuk tanpa alias yang betul, terutamanya dalam klausa ON
JOIN
. Pertimbangkan contoh ini:
<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>
Perhatikan bahawa employees
dan departments
digunakan dalam klausa ON
, tetapi belum ditakrifkan secara rasmi sebagai alias sebelum penggunaannya.
Penyelesaian: Menentukan Alias Jadual
Pembetulan melibatkan pemberian alias secara eksplisit menggunakan kata kunci 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>
Dengan menambahkan AS employees
dan AS departments
, kami mentakrifkan alias dengan jelas, menyelesaikan kekaburan dan menghapuskan ralat "Nama tidak dikenali". Ini memastikan pangkalan data memahami jadual mana yang dirujuk dalam klausa ON
.
Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Saya Menunjukkan 'Nama tidak dikenali: pekerja di [9:8]'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!