Pernyataan KES bagi klausa WHERE dalam SQL: Gunakan ungkapan bersyarat untuk mengendalikan berbilang syarat
Dalam SQL, pernyataan CASE menyediakan cara yang berkuasa untuk mengendalikan ungkapan bersyarat dalam pertanyaan. Ini amat berguna apabila berurusan dengan keadaan penapis yang kompleks dalam klausa WHERE.
Pertimbangkan senario berikut: anda mahu menapis data berdasarkan jenis lokasi (@locationType) dan ID lokasi yang sepadan (@locationID). Biasanya, anda perlu menulis beberapa klausa WHERE untuk mengendalikan setiap syarat secara berasingan:
<code class="language-sql">WHERE account_location = @locationID OR xxx_location_area = @locationID OR xxx_location_division = @locationID</code>
Bagaimanapun, pendekatan ini boleh menjadi membosankan dan terdedah kepada ralat, terutamanya jika terdapat beberapa keadaan. Untuk memudahkan dan meningkatkan kecekapan, anda boleh menggunakan pernyataan CASE dalam klausa WHERE:
<code class="language-sql">WHERE @locationID = CASE WHEN @locationType = 'location' THEN account_location WHEN @locationType = 'area' THEN xxx_location_area WHEN @locationType = 'division' THEN xxx_location_division END</code>
Dalam pernyataan ini, @locationID dibandingkan dengan hasil ungkapan CASE. Ungkapan ini menilai @locationType dan mengembalikan lajur lokasi yang sepadan berdasarkan kriteria padanan.
Klausa WHERE tunggal ini mengendalikan semua semakan keadaan dan memudahkan logik pertanyaan. Ia juga menghapuskan keperluan untuk berbilang pernyataan OR, mengurangkan kerumitan kod dan meningkatkan kebolehbacaan.
Dengan menggunakan pernyataan CASE dalam klausa WHERE, anda boleh menapis data dengan mudah berdasarkan berbilang syarat, meningkatkan kecekapan dan kejelasan pertanyaan SQL anda.
Atas ialah kandungan terperinci Bolehkah Pernyataan CASE SQL Memudahkan Syarat Klausa WHERE untuk Penapisan Data yang Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!