Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?

Bagaimana untuk Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 06:26:08130semak imbas

How to Implement IF-ELSE Logic in MySQL Queries Using CASE Expressions?

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!

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