Trường hợp nội tuyến mysql

You have been bao giờ tự hỏi. Trong MySQL, câu lệnh CASE, câu lệnh IF và hàm IF khác nhau thế nào? . Nhất là khi bạn vừa bắt đầu tìm hiểu về MySQL và cơ sở dữ liệu quan hệ

  Kinh nghiệm vận hành MySQL - Chú ý khi chọn MySQL làm cơ sở dữ liệu

  PHP & MySQL. Tập làm Ninja, Phiên bản thứ 5

Nếu bạn muốn tìm hiểu cơ sở dữ liệu là gì và có những loại nào, hãy tham khảo bài viết này

cú pháp

CASE câu lệnh

Trường hợp nội tuyến mysql
Trường hợp nội tuyến mysql

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END

IF command

IF condition1 THEN
   {...statements to execute when condition1 is TRUE...}

[ ELSEIF condition2 THEN
   {...statements to execute when condition1 is FALSE and condition2 is TRUE...} ]

[ ELSE
   {...statements to execute when both condition1 and condition2 are FALSE...} ]

END IF;

hàm NẾU

IF(expr1,expr2,expr3)

Dao deep more

Nhìn vào cú pháp trên đây, ta có thể thấy, diễn tiến như hàm IF ít linh hoạt hơn câu lệnh CASE. Nếu bạn viết thế này

SELECT IF(movie = 'The Matrix', 'high', 'low') AS suggestion

Thì bạn hoàn toàn có thể sử dụng CASE như thế này

SELECT CASE WHEN movie = 'The Matrix' THEN 'high' ELSE 'low' END AS suggestion

Khá giống nhau có đúng không? . Nhưng nếu có nhiều hơn hai nhánh thì sao?

SELECT IF(movie = 'The Matrix', 'high', IF(movie = 'Endgame', 'medium', 'low')) AS suggestion

Mà nên là thế này

SELECT CASE movie 
    WHEN = 'The Matrix' THEN 'high'
    WHEN = 'Endgame'    THEN 'medium'
    ELSE 'low'
END AS suggestion

Nó cũng tương tự như khi ta dùng switch để rẽ nhánh vậy, tự nhiên thoải mái vào thoải mái hơn rất nhiều

Có một điều bạn phải chú ý. Trong khi câu lệnh CASE là câu lệnh chuẩn của SQL thì hàm IF lại hoàn toàn không phải. Điều đó có nghĩa là gì?

Ở một diễn biến khác, câu lệnh NẾU là cái gì đó rất lạ lùng với hai thứ trên. Nó được sử dụng khi viết thủ tục (thủ tục). Ví dụ

________số 8_______

Do đó, nhầm lẫn nên nhầm lẫn mục đích và mục đích sử dụng của câu lệnh IF với hàm IF, hay thậm chí là câu lệnh CASE. Chúng sinh ra vì những “sứ mệnh” khác nhau