Mysql if điều kiện trong mệnh đề where

Thí dụ

Trả về "YES" nếu điều kiện là TRUE, hoặc "NO" nếu điều kiện là FALSE

CHỌN NẾU(500<1000, "CÓ", "KHÔNG");

Tự mình thử »


Định nghĩa và cách sử dụng

Hàm IF() trả về một giá trị nếu điều kiện là TRUE hoặc giá trị khác nếu điều kiện là FALSE

cú pháp

IF(điều kiện, value_if_true, value_if_false)

Giá trị tham số

Tham sốMô tảđiều kiệnBắt buộc. Giá trị của testvalue_if_trueRequired. Giá trị trả về nếu điều kiện là TRUEvalue_if_falseRequired. Giá trị trả về nếu điều kiện là FALSE

chi tiết kỹ thuật


Thêm ví dụ

Thí dụ

Trả về 5 nếu điều kiện là TRUE, hoặc 10 nếu điều kiện là FALSE

CHỌN NẾU(500<1000, 5, 10);

Tự mình thử »

Thí dụ

Kiểm tra xem hai chuỗi có giống nhau không và trả về "CÓ" nếu đúng hoặc "KHÔNG" nếu không

CHỌN NẾU(STRCMP("xin chào","tạm biệt") = 0, "CÓ", "KHÔNG");

Tự mình thử »

Thí dụ

Trả về "MORE" nếu điều kiện là TRUE, hoặc "LESS" nếu điều kiện là FALSE

CHỌN ID đơn hàng, Số lượng, IF(Số lượng>10, "THÊM", "ÍT")
TỪ Chi tiết đơn hàng;

Tự mình thử »

Hướng dẫn MySQL này giải thích cách sử dụng câu lệnh IF-THEN-ELSE trong MySQL với cú pháp và ví dụ

Sự mô tả

Trong MySQL, câu lệnh IF-THEN-ELSE được sử dụng để thực thi mã khi điều kiện là TRUE hoặc thực thi mã khác nếu điều kiện ước tính là FALSE

cú pháp

Cú pháp của câu lệnh IF-THEN-ELSE trong MySQL là

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;
ELSEIFTùy chọn. Bạn sẽ sử dụng điều kiện ELSEIF khi bạn muốn thực hiện một tập hợp các câu lệnh khi điều kiện thứ hai (nghĩa là. điều kiện2) là ĐÚNG. KHÁCTùy chọn. Bạn sẽ sử dụng điều kiện ELSE khi bạn muốn thực thi một tập hợp các câu lệnh khi không có điều kiện IF hoặc ELSEIF nào được đánh giá là TRUE

Ghi chú

  • Khi một điều kiện được tìm thấy là TRUE, câu lệnh IF-THEN-ELSE sẽ thực thi mã tương ứng và không đánh giá các điều kiện nữa
  • Nếu không có điều kiện nào được đáp ứng, phần ELSE của câu lệnh IF-THEN-ELSE sẽ được thực thi
  • Điều quan trọng cần lưu ý là các phần ELSEIF và ELSE là tùy chọn

Thí dụ

Sau đây là ví dụ sử dụng câu lệnh IF-THEN-ELSE trong hàm MySQL

DELIMITER //

CREATE FUNCTION IncomeLevel ( monthly_value INT )
RETURNS varchar(20)

BEGIN

   DECLARE income_level varchar(20);

   IF monthly_value <= 4000 THEN
      SET income_level = 'Low Income';

   ELSEIF monthly_value > 4000 AND monthly_value <= 7000 THEN
      SET income_level = 'Avg Income';

   ELSE
      SET income_level = 'High Income';

   END IF;

   RETURN income_level;

END; //

DELIMITER ;

Trong ví dụ về câu lệnh IF-THEN-ELSE này, chúng ta đã tạo một hàm gọi là IncomeLevel. Nó có một tham số được gọi là daily_value và nó trả về một varchar(20). Hàm sẽ trả về mức thu nhập dựa trên giá_trị_tháng

Chúng tôi bắt đầu bằng cách xác định hành động ban đầu để thực hiện;

Tiếp theo, chúng tôi chỉ định các cột và bảng để thực hiện hành động đã chỉ định

Cuối cùng, chúng ta gọi mệnh đề WHERE theo sau là điều kiện để đánh giá; . Chúng ta cũng có thể kết hợp nhiều điều kiện bằng cách sử dụng các toán tử logic như AND, OR hoặc NOT

Bạn có thể coi mệnh đề WHERE trong MySQL như một câu lệnh if trong bất kỳ ngôn ngữ lập trình nào. MySQL so sánh nếu các hàng đáp ứng điều kiện đã chỉ định và nếu đúng, nó sẽ trả về câu lệnh gọi

Các toán tử phổ biến mà bạn có thể sử dụng với mệnh đề WHERE bao gồm

OPERATORFUNCTIONALITY= EQUALITYThe equality operator checks if the two sets of values are equal to each other.>= greater than or equal toEvaluates if the left value is greater than or equal to the value on the right.<= less than or equal toEvaluates if the value on the left is less than or equal to> greater thanChecks if the value on the left is greater than the value on the right< less thanEvaluates if the value on the left is less than the value on the right!= or <>> not equalEvaluates if both values are not equal.

Nếu điều kiện được chỉ định trong mệnh đề WHERE không khớp với bất kỳ hàng nào trong bảng, nó sẽ không trả về bất kỳ hàng nào

Ví dụ về mệnh đề MySQL

Hãy để chúng tôi minh họa cách sử dụng mệnh đề WHERE bằng các điều kiện khác nhau

ví dụ 1

Chúng ta có thể sử dụng mệnh đề WHERE với một điều kiện duy nhất. Xem xét bảng phim trong cơ sở dữ liệu sakila

CHỌN tiêu đề , năm phát hành , LENGTH, rating FROM film LIMIT 5;

Mysql if điều kiện trong mệnh đề where

Chúng ta có thể sử dụng mệnh đề WHERE để lấy các bộ phim có độ dài chính xác là 120 phút. Để làm điều này, chúng ta có thể sử dụng truy vấn

CHỌN tiêu đề , năm phát hành , LENGTH, rating FROM film WHERE LENGTH = 120;

Trong ví dụ trên, chúng ta sử dụng toán tử bằng (=) để lấy các phim có độ dài 120. Một đầu ra ví dụ dưới đây

Mysql if điều kiện trong mệnh đề where

ví dụ 2

Chúng ta cũng có thể kết hợp nhiều điều kiện bằng toán tử logic AND. Trong trường hợp này, cả hai điều kiện cần đánh giá là đúng

Ví dụ: trong bảng phim ở trên, chúng ta có thể lấy các phim có thời lượng 120 phút và thay thế_chi phí lớn hơn 10

CHỌN tiêu đề , năm phát hành , LENGTH, rating, replacement_cost FROM film WHERE LENGTH = 120 AND replacement_cost > 10;

Trong ví dụ này, phim cần có thời lượng 120 phút và chi phí thay thế lớn hơn 10

Truy vấn trên sẽ trả về các giá trị như

Mysql if điều kiện trong mệnh đề where

ví dụ 3

Một toán tử logic khác mà chúng ta có thể sử dụng với mệnh đề WHERE là toán tử OR. Trong trường hợp này, chỉ cần một điều kiện là đúng

Ví dụ: chúng tôi có thể tìm nạp phim có độ dài lớn hơn 150 hoặc thay_chi phí lớn hơn hoặc bằng 18

Truy vấn sau đây minh họa cách sử dụng một điều kiện như vậy

CHỌN tiêu đề , năm phát hành , LENGTH, rating, replacement_cost FROM film WHERE LENGTH > 150 OR replacement_cost >= 18 LIMIT 10;

Trong trường hợp này, chúng tôi nhận được nhiều giá trị vì chúng tôi chỉ cần phim có độ dài lớn hơn 150 hoặc replace_cost bằng hoặc lớn hơn 18

Một bản in ví dụ dưới đây

Mysql if điều kiện trong mệnh đề where

Ví dụ 4

Tuy nhiên, một cách triển khai khác của mệnh đề WHERE là sử dụng tham số BETWEEN. Trong trường hợp như vậy, chúng tôi có thể chỉ định một loạt các giá trị để kiểm tra

Ví dụ: trong bảng phim (xem cơ sở dữ liệu sakila), chúng ta có thể lấy các phim có độ dài từ 120 đến 150

Sau đây là một truy vấn ví dụ

CHỌN tiêu đề , năm phát hành , LENGTH, rating, replacement_cost FROM film WHERE LENGTH BETWEEN 120 AND 150 LIMIT 10;

Một bản in ví dụ dưới đây

Mysql if điều kiện trong mệnh đề where

Ví dụ 5

Chúng ta cũng có thể thực hiện điều kiện WHERE bằng cách sử dụng câu lệnh LIKE. Trong trường hợp này, chúng tôi tìm thấy một trường hợp phù hợp bằng cách sử dụng MySQL LIKE ký tự đại diện. Hãy xem hướng dẫn MySQL LIKE để tìm hiểu thêm

Ví dụ: chúng ta hãy lấy bảng diễn viên trong cùng cơ sở dữ liệu sakila. Chúng ta có thể tìm các diễn viên trong đó first_name bao gồm m

CHỌN * TỪ diễn viên Ở ĐÂU first_name LIKE '%m';

Truy vấn trên trả về kết quả là

Mysql if điều kiện trong mệnh đề where

Sự kết luận

Bài viết này đã hướng dẫn bạn cách sử dụng mệnh đề MySQL để kiểm tra một điều kiện cụ thể và trả về kết quả

Chúng ta có thể sử dụng mệnh đề if trong WHERE trong MySQL không?

Các ví dụ về MySQL NẾU . We can add the IF statement to the WHERE clause in the above query.

Chúng ta có thể viết điều kiện if trong mệnh đề WHERE SQL không?

Trả lời, không . IF là câu lệnh luồng điều khiển được sử dụng để điều khiển luồng logic của tập lệnh, thủ tục được lưu trữ hoặc hàm do người dùng xác định. Nếu bạn cần sử dụng IF trong thủ tục được lưu trữ của mình, hãy sử dụng nó để kiểm soát câu lệnh CHỌN mà bạn muốn thực thi dựa trên giá trị được truyền qua (các) tham số thủ tục được lưu trữ.

Chúng ta có thể sử dụng điều kiện nào với mệnh đề WHERE?

Mệnh đề SQL WHERE được sử dụng để chỉ định một điều kiện trong khi tìm nạp dữ liệu từ một bảng hoặc bằng cách nối với nhiều bảng . Nếu điều kiện đã cho được thỏa mãn thì chỉ nó trả về một giá trị cụ thể từ bảng. Bạn nên sử dụng mệnh đề WHERE để lọc các bản ghi và chỉ lấy các bản ghi cần thiết.

Tôi có thể sử dụng if trong truy vấn không?

Hàm IF() có thể được sử dụng trong các truy vấn chủ yếu được sử dụng trong phần CHỌN của truy vấn để chọn các dữ liệu khác nhau dựa trên các điều kiện nhất định, không nhiều lắm . CHỌN NẾU(JQ.