Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Câu lệnh IF với nhiều điều kiện trong MySQL

Tóm tắt

Bài viết trình bày cách sử dụng câu lệnh IF trong stored procedure với nhiều điều kiện kết hợp bằng toán tử AND và OR.

Cú pháp cơ bản

DECLARE x INT;
DECLARE y INT;
SET x = gia_tri_1;
SET y = gia_tri_2;

IF ((x < y AND x > gia_tri_3 AND y > gia_tri_4) OR x != gia_tri_5) THEN
    -- câu lệnh khi đúng
ELSE
    -- câu lệnh khi sai
END IF;

Ví dụ hoàn chỉnh: Tạo stored procedure

DELIMITER //
CREATE PROCEDURE SP_IFELSEDEMO()
BEGIN
    DECLARE X INT;
    DECLARE Y INT;
    SET X = 100;
    SET Y = 400;
    
    IF ((X < Y AND X > 99 AND Y > 300) OR X != 10) THEN
        SELECT 'Logic is Correct';
    ELSE
        SELECT 'Logic is not Correct';
    END IF;
END //
DELIMITER ;

Gọi thủ tục

CALL SP_IFELSEDEMO();

Kết quả

+------------------+
| Logic is Correct |
+------------------+
| Logic is Correct |
+------------------+

Giải thích logic

  • X < Y: 100 < 400 → TRUE
  • X > 99: 100 > 99 → TRUE
  • Y > 300: 400 > 300 → TRUE
  • Cả ba điều kiện AND cùng TRUE → TRUE
  • X != 10: 100 != 10 → TRUE
  • TRUE OR TRUE → TRUE → thực hiện nhánh THEN

Lưu ý tốt

  • Luôn dùng dấu ngoặc đơn để nhóm điều kiện rõ ràng.
  • Tránh lồng quá nhiều IF, hãy dùng CASE nếu logic phức tạp.
  • Stored procedure cần DELIMITER khi định nghĩa.