Rumah > pangkalan data > tutorial mysql > Bagaimanakah saya boleh merujuk Alias ​​dengan betul dalam Klausa SQL WHERE?

Bagaimanakah saya boleh merujuk Alias ​​dengan betul dalam Klausa SQL WHERE?

Mary-Kate Olsen
Lepaskan: 2024-12-26 14:03:14
asal
828 orang telah melayarinya

How Can I Correctly Reference Aliases in a SQL WHERE Clause?

Merujuk Alias ​​dalam Klausa WHERE

Apabila bekerja dengan pertanyaan SQL, selalunya perlu menggunakan alias untuk memberikan nama sementara kepada jadual atau ungkapan . Ini boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod anda. Walau bagaimanapun, adalah penting untuk mengetahui batasan apabila merujuk alias di bahagian pertanyaan yang berlainan.

Isunya

Dalam contoh yang disediakan, percubaan dibuat untuk merujuk alias (_year) dalam klausa WHERE pertanyaan. Walau bagaimanapun, ini mengakibatkan ralat:

ERROR:  column "_year" does not exist
Salin selepas log masuk

Ralat ini berlaku kerana klausa WHERE dilaksanakan dahulu, sebelum klausa SELECT. Pada masa pelaksanaan, pangkalan data masih belum menemui definisi alias dalam klausa SELECT dan oleh itu tidak dapat mengenalinya.

Penyelesaian

Untuk menyelesaikan isu ini, anda boleh menulis semula pertanyaan supaya alias ditakrifkan dalam klausa WHERE itu sendiri. Ini memastikan alias tersedia apabila klausa WHERE dilaksanakan:

SELECT
    SUBSTRING(pk, 6, 2)::INT AS _year
FROM
    listing
WHERE
    SUBSTRING(pk, 6, 2)::INT > 90
Salin selepas log masuk

Dengan meletakkan takrif alias dalam klausa WHERE, anda boleh merujuk alias dalam klausa yang sama, tanpa menghadapi ralat.

Atas ialah kandungan terperinci Bagaimanakah saya boleh merujuk Alias ​​dengan betul dalam Klausa SQL WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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