Rumah  >  Artikel  >  pangkalan data  >  Cara menggunakan fungsi CASE dalam MySQL untuk melaksanakan pertimbangan berbilang syarat

Cara menggunakan fungsi CASE dalam MySQL untuk melaksanakan pertimbangan berbilang syarat

WBOY
WBOYasal
2023-07-12 23:52:352673semak imbas

Cara menggunakan fungsi CASE dalam MySQL untuk melaksanakan pertimbangan berbilang syarat

Dalam pangkalan data MySQL, fungsi CASE ialah alat yang sangat berkuasa yang boleh melakukan pertimbangan berbilang syarat dalam pernyataan pertanyaan. Ia membolehkan kami mengembalikan hasil yang berbeza berdasarkan keadaan yang berbeza untuk memenuhi keperluan perniagaan yang kompleks. Artikel ini akan memperkenalkan cara menggunakan fungsi CASE dalam MySQL untuk melaksanakan pertimbangan berbilang syarat dan menyediakan beberapa contoh kod.

Struktur sintaks fungsi CASE adalah seperti berikut:

CASE
   WHEN condition1 THEN result1
   WHEN condition2 THEN result2
   WHEN condition3 THEN result3
   ...
   ELSE result
END

Dalam struktur sintaks ini, kita boleh mengembalikan hasil (hasil) yang berbeza mengikut keadaan yang berbeza. Apabila semua syarat tidak dipenuhi, anda boleh menggunakan kata kunci ELSE untuk menentukan hasil lalai.

Sekarang, andaikan kita mempunyai jadual yang dipanggil pelajar yang menyimpan nama, umur dan gred pelajar. Kita perlu mengklasifikasikan pelajar mengikut gred mereka dan menentukan sama ada mereka adalah remaja berdasarkan umur mereka. Berikut ialah contoh kod yang menggunakan fungsi CASE untuk penghakiman berbilang syarat:

SELECT 
   name,
   age,
   grade,
   CASE
      WHEN grade >= 90 THEN '优秀'
      WHEN grade >= 80 THEN '良好'
      WHEN grade >= 70 THEN '中等'
      ELSE '不及格'
   END AS level,
   CASE
      WHEN age >= 12 AND age <= 18 THEN '青少年'
      ELSE '成年人'
   END AS category
FROM students;

Dalam kod di atas, kami menggunakan dua fungsi CASE untuk menilai gred dan umur pelajar, dan masing-masing mengembalikan keputusan yang berbeza. Gred dibahagikan mengikut markah Jika skor lebih besar daripada atau sama dengan 90 mata, ia adalah cemerlang jika skor lebih daripada atau sama dengan 80 mata, ia adalah baik jika skor lebih daripada atau sama; 70 mata, ia adalah purata; jika tidak, ia gagal. Klasifikasi adalah berdasarkan umur Jika umur antara 12 dan 18 tahun, ia adalah remaja, sebaliknya, ia adalah orang dewasa.

Selain pertimbangan bersyarat asas, fungsi CASE juga boleh menggunakan operator logik untuk menggabungkan berbilang syarat. Katakan kita perlu menilai gred dan kehadiran pelajar masing-masing, dan memberikan ganjaran yang berbeza berdasarkan keputusan penghakiman Contoh kod adalah seperti berikut:

SELECT 
   name,
   attendance,
   grade,
   CASE
      WHEN grade >= 90 AND attendance = '100%' THEN '获奖'
      WHEN grade >= 80 OR attendance = '100%' THEN '鼓励'
      ELSE '加油'
   END AS reward
FROM students;

Dalam kod di atas, kita menggunakan dua penghakiman bersyarat untuk memberikan ganjaran yang berbeza berdasarkan gred dan. ganjaran kehadiran. Jika markah lebih daripada atau sama dengan 90 mata dan kehadiran adalah 100%, anda akan diberi ganjaran jika markah lebih daripada atau sama dengan 80 mata atau kehadiran adalah 100%, anda akan digalakkan; sorakan.

Melalui contoh kod di atas, kami mempelajari cara menggunakan fungsi CASE dalam MySQL untuk melakukan pertimbangan berbilang syarat. Fungsi CASE bukan sahaja memudahkan logik pertimbangan bersyarat yang kompleks, tetapi juga menyediakan struktur sintaks yang fleksibel, membolehkan kami mengembalikan hasil yang berbeza berdasarkan keadaan yang berbeza. Dalam pembangunan sebenar, kami boleh menggunakan fungsi CASE secara fleksibel mengikut keperluan perniagaan tertentu untuk menjadikan operasi pangkalan data lebih cekap dan mudah.

Atas ialah kandungan terperinci Cara menggunakan fungsi CASE dalam MySQL untuk melaksanakan pertimbangan berbilang syarat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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