Rumah > pangkalan data > tutorial mysql > Bagaimanakah Pernyataan CASE SQL Mendayakan Penapisan Bersyarat dalam Klausa WHERE?

Bagaimanakah Pernyataan CASE SQL Mendayakan Penapisan Bersyarat dalam Klausa WHERE?

Mary-Kate Olsen
Lepaskan: 2025-01-10 08:46:41
asal
1013 orang telah melayarinya

How Can SQL's CASE Statement Enable Conditional Filtering in the WHERE Clause?

Penapisan Bersyarat dalam Klausa WHERE SQL Menggunakan CASE

Klausa

SQL WHERE digunakan untuk menapis data berdasarkan syarat yang ditentukan. Apabila anda perlu menggunakan kriteria penapisan yang berbeza bergantung pada data itu sendiri, pernyataan CASE dalam klausa WHERE menyediakan pendekatan yang berkuasa dan fleksibel.

Bayangkan jadual yang mengandungi pelbagai jenis lokasi ("lokasi," "kawasan," "bahagian") dengan ID masing-masing disimpan dalam lajur account_location, xxx_location_area dan xxx_location_division. Untuk mendapatkan semula rekod berdasarkan jenis lokasi yang dipilih, pernyataan CASE dengan elegan mengendalikan logik bersyarat:

<code class="language-sql">DECLARE @locationType VARCHAR(50);
DECLARE @locationID INT;

SELECT column1, column2
FROM viewWhatever
WHERE
@locationID = CASE @locationType
                WHEN 'location' THEN account_location
                WHEN 'area' THEN xxx_location_area
                WHEN 'division' THEN xxx_location_division
                END;</code>
Salin selepas log masuk

Dengan menetapkan pembolehubah @locationID dan @locationType dengan sewajarnya, anda boleh menapis hasil secara dinamik. Pernyataan CASE menentukan lajur lokasi yang hendak dibandingkan dengan @locationID, membolehkan penapisan bersyarat yang cekap dan boleh disesuaikan.

Atas ialah kandungan terperinci Bagaimanakah Pernyataan CASE SQL Mendayakan Penapisan Bersyarat dalam Klausa 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