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 Show
CHỌN NẾU(500<1000, "CÓ", "KHÔNG"); Tự mình thử »Định nghĩa và cách sử dụngHà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ápIF(đ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à FALSEchi tiết kỹ thuậtThê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") 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ápCú 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ú
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 đề MySQLHã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; 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 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ư 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 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 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à Sự kết luậnBà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. |