Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur Tidak Diketahui Di Mana Klausa' Apabila Menggunakan Alias?

Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur Tidak Diketahui Di Mana Klausa' Apabila Menggunakan Alias?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 15:51:10481semak imbas

Why Does My SQL Query Fail with

Pertanyaan SQL menyebabkan ralat "Lajur Tidak Diketahui Di Mana Klausa" disebabkan oleh alias

Soalan:

Pertanyaan menggunakan alias dalam pernyataan SELECT akan menyebabkan ralat, mendorong lajur alias tidak diketahui dalam pernyataan WHERE. Contohnya, pertanyaan berikut mencetuskan ralat ini:

<code class="language-sql">SELECT u_name AS user_name FROM users WHERE user_name = "john";</code>

Penjelasan:

Tertib pelaksanaan SQL adalah dari kanan ke kiri. Dalam contoh ini, klausa WHERE dilaksanakan sebelum klausa SELECT. Oleh itu, apabila klausa WHERE dihuraikan, alias user_name belum ditakrifkan lagi.

Penyelesaian:

Untuk menyelesaikan masalah ini, anda boleh menggunakan nama lajur asal dalam klausa WHERE:

<code class="language-sql">SELECT u_name AS user_name FROM users WHERE u_name = "john";</code>

Atau sertakan nama lajur alias dalam kurungan dalam klausa WHERE:

<code class="language-sql">SELECT u_name AS user_name FROM users WHERE (user_name = "john");</code>

Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur Tidak Diketahui Di Mana Klausa' Apabila Menggunakan Alias?. 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