Menghadapi ralat "Nama tidak dikenali" dalam pertanyaan SQL ialah masalah biasa, selalunya berpunca daripada alias jadual yang hilang atau salah. Mari kita ilustrasikan ini dengan contoh praktikal.
Pertimbangkan pertanyaan SQL 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>
Ralat "Nama tidak dikenali: pekerja di [9:8]" menunjukkan masalah dengan alias employees
. Isunya ialah klausa FROM
tidak mempunyai alias yang diperlukan untuk kedua-dua jadual Employees
dan departments
.
Pertanyaan yang diperbetulkan ialah:
<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>
Menambah klausa AS employees
dan AS departments
memberikan alias dengan betul, membenarkan pertanyaan dilaksanakan tanpa ralat. Ini menyerlahkan kepentingan menggunakan alias jadual yang jelas dan tepat, terutamanya apabila bekerja dengan berbilang jadual dan cantuman. Meninggalkan atau menyalahgunakan alias mengakibatkan ralat yang menghalang pemprosesan pertanyaan yang cekap.
Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Saya Mengembalikan Ralat 'Nama Tidak Diiktiraf: pekerja'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!