Rumah > pangkalan data > tutorial mysql > Mengapa 'Lajur Tidak Diketahui dalam Klausa Di Mana' Berlaku Apabila Menggunakan Alias ​​dalam Pertanyaan SQL?

Mengapa 'Lajur Tidak Diketahui dalam Klausa Di Mana' Berlaku Apabila Menggunakan Alias ​​dalam Pertanyaan SQL?

Linda Hamilton
Lepaskan: 2025-01-17 15:57:14
asal
610 orang telah melayarinya

Why Does

Ralat SQL: "Lajur Tidak Diketahui dalam Klausa Dimana"

Apabila melaksanakan pertanyaan SQL yang serupa dengan:

SELECT u_name AS user_name FROM users WHERE user_name = "john";
Salin selepas log masuk

Anda mungkin menghadapi ralat "Lajur Tidak Diketahui 'nama_pengguna' di mana klausa". Ralat ini adalah kerana susunan penghuraian SQL adalah dari kanan ke kiri.

Secara khusus, klausa WHERE dihuraikan sebelum klausa SELECT. Apabila klausa WHERE dihuraikan, alias "nama_pengguna" belum lagi digunakan pada lajur "u_name". Oleh itu, pangkalan data mentafsir "nama_pengguna" sebagai lajur yang tidak diketahui dan menimbulkan ralat.

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

SELECT u_name AS user_name FROM users WHERE u_name = "john";
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan subkueri untuk alias lajur sebelum menggunakan alias dalam klausa WHERE:

SELECT user_name FROM (SELECT u_name AS user_name FROM users) AS subquery WHERE user_name = "john";
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa 'Lajur Tidak Diketahui dalam Klausa Di Mana' Berlaku Apabila Menggunakan Alias ​​dalam Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan