Hướng dẫn can we use if condition in mysql query? - chúng ta có thể sử dụng điều kiện if trong truy vấn mysql không?

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:51:24 (UTC/GMT +8 giờ)

If () hàm

Mysql if () lấy ba biểu thức và nếu biểu thức đầu tiên là đúng, không phải là không và không null, nó sẽ trả về biểu thức thứ hai. Nếu không, nó trả về biểu thức thứ ba.

Tùy thuộc vào ngữ cảnh mà nó được sử dụng, nó trả về giá trị số hoặc chuỗi.

Syntax:

IF(expression ,expr_true, expr_false);

Parameters:

TênSự mô tảLoại trở lại
biểu hiệnMột biểu thức.& nbsp;
expr_trueTrả về khi điều kiện là đúng.Một chuỗi khi expr_true là một chuỗi, giá trị điểm nổi khi expr _true là giá trị điểm nổi và số nguyên khi expr _true là một số nguyên.
expr_falseTrả về khi điều kiện là sai.Một chuỗi khi expr_false là một chuỗi, giá trị dấu phẩy động khi expr _false là giá trị điểm nổi và số nguyên khi expr _false là một số nguyên.

Phiên bản MySQL: 5.6

Lưu ý: Có một câu lệnh IF khác, khác với hàm if () được mô tả trong chương thủ tục MySQL. There is an another IF statement, which differs from the IF() function described in MySQL procedure chapter.

Trình bày bằng hình ảnh:

Hướng dẫn can we use if condition in mysql query? - chúng ta có thể sử dụng điều kiện if trong truy vấn mysql không?

Ví dụ: hàm mysql if ()

Trong câu lệnh sau, vì 1 là nhỏ hơn 3, do đó, if () trả về biểu thức thứ ba, tức là sai.

Code:

SELECT IF(1>3,'true','false');

Đầu ra mẫu:

mysql> SELECT IF(1>3,'true','false');
+------------------------+
| IF(1>3,'true','false') |
+------------------------+
| false                  | 
+------------------------+
1 row in set (0.00 sec)

Ví dụ: if () hàm với trường hợp

Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.

Code:

SELECT IF((SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END),'true','false');

Đầu ra mẫu:

mysql> SELECT IF((SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END),'true','false');
+------------------------------------------------------------------------+
| IF((SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END),'true','false') |
+------------------------------------------------------------------------+
| false                                                                  | 
+------------------------------------------------------------------------+
1 row in set, 1 warning (0.02 sec)

Ví dụ: if () hàm với trường hợp

Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.

Code:

SELECT book_name,
IF(pub_lang='English',"English Book","Other Language") 
AS Language 
FROM book_mast;

Mysql nếu trong câu lệnh select

Câu lệnh MySQL sau đây trả về tên sách và trong đó ngôn ngữ cuốn sách đã được xuất bản. Trạng thái của ngôn ngữ là cuốn sách tiếng Anh cho pub_lang tiếng Anh khác, nó trở lại 'ngôn ngữ khác'.

mysql> SELECT book_name,
    -> IF(pub_lang="English", "Engllish Book", "Other Lnaguage")
    -> AS Language
    -> FROM book_mast;
+-------------------------------------+----------------+
| book_name                           | Language       |
+-------------------------------------+----------------+
| Introduction to Electrodynamics     | Engllish Book  | 
| Understanding of Steel Construction | Engllish Book  | 
| Guide to Networking                 | Other Lnaguage | 
| Transfer  of Heat and Mass          | Engllish Book  | 
| Conceptual Physics                  | Other Lnaguage | 
| Fundamentals of Heat                | Other Lnaguage | 
| Advanced 3d Graphics                | Other Lnaguage | 
| Human Anatomy                       | Other Lnaguage | 
| Mental Health Nursing               | Engllish Book  | 
| Fundamentals of Thermodynamics      | Engllish Book  | 
| The Experimental Analysis of Cat    | Other Lnaguage | 
| The Nature  of World                | Engllish Book  | 
| Environment a Sustainable Future    | Other Lnaguage | 
| Concepts in Health                  | Other Lnaguage | 
| Anatomy & Physiology                | Other Lnaguage | 
| Networks and Telecommunications     | Other Lnaguage | 
+-------------------------------------+----------------+
16 rows in set (0.02 sec)

Bảng mẫu: Book_Mast

Đầu ra mẫu:

Code:

SELECT book_name,isbn_no,
IF((SELECT COUNT(*) FROM book_mast WHERE pub_lang='English')>
(SELECT COUNT(*) FROM book_mast WHERE pub_lang<>'English'),
(CONCAT("Pages: ",no_page)),(CONCAT("Price: ",book_price))) 
AS "Page / Price"
FROM book_mast;

Mysql nếu trong câu lệnh select

Đầu ra mẫu:

mysql> SELECT book_name,isbn_no,
    -> IF((SELECT COUNT(*) FROM book_mast WHERE pub_lang='English')>
    -> (SELECT COUNT(*) FROM book_mast WHERE pub_lang<>'English'),
    -> (CONCAT("Pages: ",no_page)),(CONCAT("Price: ",book_price))) 
    -> AS "Page / Price"
    -> FROM book_mast;
+-------------------------------------+-------------+---------------+
| book_name                           | isbn_no     | Page / Price  |
+-------------------------------------+-------------+---------------+
| Introduction to Electrodynamics     | 0000979001  | Price: 85.00  | 
| Understanding of Steel Construction | 0000979002  | Price: 105.50 | 
| Guide to Networking                 | 0000979003  | Price: 200.00 | 
| Transfer  of Heat and Mass          | 0000979004  | Price: 250.00 | 
| Conceptual Physics                  | 0000979005  | Price: 145.00 | 
| Fundamentals of Heat                | 0000979006  | Price: 112.00 | 
| Advanced 3d Graphics                | 0000979007  | Price: 56.00  | 
| Human Anatomy                       | 0000979008  | Price: 50.50  | 
| Mental Health Nursing               | 0000979009  | Price: 145.00 | 
| Fundamentals of Thermodynamics      | 0000979010  | Price: 225.00 | 
| The Experimental Analysis of Cat    | 0000979011  | Price: 95.00  | 
| The Nature  of World                | 0000979012  | Price: 88.00  | 
| Environment a Sustainable Future    | 0000979013  | Price: 100.00 | 
| Concepts in Health                  | 0000979014  | Price: 180.00 | 
| Anatomy & Physiology                | 0000979015  | Price: 135.00 | 
| Networks and Telecommunications     | 00009790_16 | Price: 45.00  | 
+-------------------------------------+-------------+---------------+
16 rows in set (0.00 sec)

Ví dụ: if () hàm với trường hợp

Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.

mysql> SELECT book_id, book_name, pub_lang
    -> FROM book_mast;
+---------+-------------------------------------+----------+
| book_id | book_name                           | pub_lang |
+---------+-------------------------------------+----------+
| BK001   | Introduction to Electrodynamics     | English  |
| BK002   | Understanding of Steel Construction | English  |
| BK003   | Guide to Networking                 | Hindi    |
| BK004   | Transfer  of Heat and Mass          | English  |
| BK005   | Conceptual Physics                  | NULL     |
| BK006   | Fundamentals of Heat                | German   |
| BK007   | Advanced 3d Graphics                | Hindi    |
| BK008   | Human Anatomy                       | German   |
| BK009   | Mental Health Nursing               | English  |
| BK010   | Fundamentals of Thermodynamics      | English  |
| BK011   | The Experimental Analysis of Cat    | French   |
| BK012   | The Nature  of World                | English  |
| BK013   | Environment a Sustainable Future    | German   |
| BK014   | Concepts in Health                  | NULL     |
| BK015   | Anatomy & Physiology                | Hindi    |
| BK016   | Networks and Telecommunications     | French   |
+---------+-------------------------------------+----------+
16 rows in set (0.00 sec)

Mysql nếu trong câu lệnh select

Code:

SELECT IF(1>3,'true','false');

0

Đầu ra mẫu:

SELECT IF(1>3,'true','false');

1

Ví dụ: if () hàm với trường hợp

Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.

Mysql nếu trong câu lệnh select

Câu lệnh MySQL sau đây trả về tên sách và trong đó ngôn ngữ cuốn sách đã được xuất bản. Trạng thái của ngôn ngữ là cuốn sách tiếng Anh cho pub_lang tiếng Anh khác, nó trở lại 'ngôn ngữ khác'.

Code:

SELECT IF(1>3,'true','false');

2

Đầu ra mẫu:

SELECT IF(1>3,'true','false');

3

Ví dụ: if () hàm với trường hợp

Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.

Mysql nếu trong câu lệnh select

Code:

SELECT IF(1>3,'true','false');

4

Câu lệnh MySQL sau đây trả về tên sách và trong đó ngôn ngữ cuốn sách đã được xuất bản. Trạng thái của ngôn ngữ là cuốn sách tiếng Anh cho pub_lang tiếng Anh khác, nó trở lại 'ngôn ngữ khác'.

SELECT IF(1>3,'true','false');

5

Bảng mẫu: Book_Mast

SELECT IF(1>3,'true','false');

6

Đầu ra mẫu:

MySQL Chọn trong câu lệnh IF CASE operator
Next: IFNULL()

Chúng ta có thể sử dụng nếu điều kiện trong truy vấn SQL không?

Chúng ta có thể sử dụng câu lệnh SQL nếu không có khác.Sau đây, biểu thức đánh giá là đúng;Do đó, nó in tin nhắn.Nếu biểu thức đánh giá sai, nó không trả về bất kỳ đầu ra nào.Chúng ta nên sử dụng câu lệnh khác để nếu đánh giá không đúng, chúng ta có thể đặt đầu ra mặc định.. In the following, the expression evaluates to TRUE; therefore, it prints the message. If the expression evaluates to FALSE, it does not return any output. We should use ELSE statement so that if an evaluation is not TRUE, we can set default output.

Bạn có thể đặt một câu lệnh IF trong một truy vấn?

Hàm if () có thể được sử dụng trong các truy vấn chủ yếu có nghĩa là được sử dụng trong phần chọn của truy vấn để chọn dữ liệu khác nhau dựa trên một số điều kiện nhất định, không được sử dụng nhiều trong phần của truy vấn: Chọn IF (Jq. is primarily meant to be used in the SELECT portion of the query for selecting different data based on certain conditions, not so much to be used in the WHERE portion of the query: SELECT IF(JQ.