Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan SQL Saya Gagal dengan 'Lajur Tidak Diketahui Di Mana Klausa' Apabila Menggunakan 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!