kes apabila dalam sql digunakan untuk melaksanakan operasi berbeza berdasarkan keadaan berbeza dalam pertanyaan SQL. Anda boleh membuat pertimbangan berdasarkan sebarang syarat dan melakukan operasi yang sepadan berdasarkan keputusan syarat Prinsip kerja penyataan KES WHEN adalah untuk menilai syarat satu demi satu Setelah syarat dipenuhi, operasi yang sepadan akan dilakukan, dan hanya yang pertama yang memenuhi syarat akan dilaksanakan.
Pernyataan CASE WHEN dalam SQL ialah ungkapan bersyarat yang digunakan untuk melaksanakan operasi berbeza berdasarkan keadaan berbeza dalam pertanyaan SQL. Ia boleh menilai berdasarkan sebarang syarat dan melakukan operasi yang sepadan berdasarkan keputusan syarat. Dalam SQL, sintaks pernyataan CASE WHEN adalah seperti berikut:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END
Dalam sintaks ini, condition1 dan condition2 ialah ungkapan bersyarat, yang boleh menjadi sebarang keadaan serasi SQL. result1 dan result2 ialah hasil pelaksanaan, yang boleh menjadi nama lajur, nilai malar atau ungkapan. Keputusan ELSE akhir adalah pilihan dan digunakan untuk mengendalikan situasi lain yang syaratnya tidak dipenuhi.
Prinsip kerja kenyataan CASE WHEN adalah untuk menilai syarat satu persatu dari atas ke bawah Setelah syarat dipenuhi, operasi yang sepadan akan dilaksanakan, dan hanya operasi pertama yang memenuhi syarat akan dilaksanakan. Jika tiada syarat dipenuhi, operasi dalam blok ELSE dilakukan.
Berikut adalah beberapa contoh penyataan KES WHEN:
1. Kenyataan KES WHEN Mudah:
SELECT customer_name, CASE WHEN gender = 'Male' THEN 'Mr.' WHEN gender = 'Female' THEN 'Ms.' ELSE 'Unknown' END AS salutation FROM customers;
Pertanyaan di atas akan menghasilkan tajuk yang berbeza berdasarkan medan jantina, jika jantinanya ialah 'Mr .', Jika jantina adalah Perempuan, gelaran ialah 'Cik', jika tidak ia adalah 'Tidak diketahui'.
2. Gabungan penyataan CASE WHEN dan fungsi agregat:
SELECT department_id, COUNT(*) AS employees_count, CASE WHEN COUNT(*) > 10 THEN 'Large' WHEN COUNT(*) > 5 THEN 'Medium' ELSE 'Small' END AS department_size FROM employees GROUP BY department_id;
Pertanyaan di atas akan membahagikan jabatan kepada tiga kategori berbeza: besar, sederhana dan kecil berdasarkan bilangan pekerja di setiap jabatan.
3. Penggunaan pernyataan CASE WHEN dalam klausa WHERE:
SELECT order_id, order_date, CASE WHEN order_status = 'Shipped' THEN 1 ELSE 0 END AS shipped_flag FROM orders WHERE CASE WHEN order_status = 'Shipped' THEN 1 ELSE 0 END = 1;
Pertanyaan di atas hanya akan mengembalikan pesanan yang telah dihantar, dan syarat penapis menggunakan pernyataan CASE WHEN.
Ringkasan
CASE WHEN pernyataan ialah ungkapan bersyarat yang sangat berguna dalam SQL yang boleh melakukan operasi berbeza berdasarkan keadaan berbeza. Ia menyediakan cara yang fleksibel untuk mengendalikan senario yang berbeza, menjadikan pertanyaan lebih ringkas dan intuitif. Sama ada menjana lajur baharu, mengira statistik atau menapis data, pernyataan CASE WHEN boleh memenuhi keperluan anda dan membantu mengoptimumkan pertanyaan SQL.
Atas ialah kandungan terperinci kes apabila penggunaan dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!