Pertanyaan Bersyarat MySQL: Menggunakan Ungkapan CASE
Apabila bekerja dengan pertanyaan SQL, selalunya perlu membuat keputusan bersyarat berdasarkan syarat tertentu. Dalam MySQL, ini boleh dicapai menggunakan ungkapan CASE, yang menyediakan cara berstruktur untuk menilai keadaan dan mengembalikan nilai yang berbeza berdasarkan hasil.
IF ELSE Statement dalam MySQL
Timbul persoalan mengenai cara melaksanakan pernyataan IF ELSE dalam pertanyaan MySQL. Menggunakan fungsi mysql_query() dengan tindakan IF dalam pernyataan pertanyaan bukanlah pendekatan yang sesuai.
Ungkapan CASE
Sebaliknya, MySQL menggunakan ungkapan CASE untuk mengendalikan pernyataan bersyarat. Mereka mengikut sintaks tertentu:
CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END
Setiap klausa WHEN mewakili syarat yang, jika benar, mengembalikan nilai yang sepadan. Jika tiada syarat yang dipenuhi, klausa ELSE memberikan nilai lalai.
Contoh
Pertimbangkan contoh yang diberikan dalam soalan:
SELECT col1, col2, ( CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END ) AS state FROM tbl1;
Dalam pertanyaan ini, ungkapan CASE digunakan untuk mengira lajur baharu bernama keadaan. Jika kedua-dua tindakan adalah sama dengan 2 dan keadaan adalah sama dengan 0, hasilnya ialah 1. Jika tidak, ia akan mengembalikan 0.
Hasil pertanyaan ini kemudiannya boleh diakses menggunakan sintaks baris['state'], seperti yang dicadangkan dalam soalan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ungkapan CASE hanya memberikan nilai kepada lajur keadaan baharu dalam set hasil. Ia tidak mengubah suai jadual pangkalan data secara langsung.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!