Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn sử dụng toán tử AND để kết hợp nhiều biểu thức Boolean với nhau trong một biểu thức điều kiện.
Giới thiệu chung
Toán tử AND là toán tử logic kết hợp hai hoặc nhiều biểu thức Boolean và trả về true chỉ khi cả hai biểu thức được đánh giá là true. Toán tử AND trả về false nếu một trong hai biểu thức được đánh giá là false.
Cú pháp:
1 |
WHERE boolean_expression_1 AND boolean_expression_2 |
Dưới đây mình sẽ minh họa cho các bạn kết quả của toán tử AND khi kết hợp với true, false và null.
TRUE | FALSE | NULL | |
---|---|---|---|
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
Toán tử AND thường được sử dụng trong mệnh đề WHERE của câu lệnh SELECT, UPDATE, DELETE để tạo thành các biểu thức Boolean. Toán tử AND cũng được sử dụng trong các điều kiện nối giữa lệnh INNER JOIN và LEFT JOIN.
Khi đánh giá một biểu thức có toán tử AND, MySQL sẽ đánh giá các phần còn lại của biểu thức cho đến khi nó có thể xác định kết quả. Chức năng này được gọi là đánh giá ngắn mạch (short-circuit).
Ví dụ:
1 |
SELECT 1 = 0 AND 1 / 0 ; |
kết quả:

Lưu ý rằng trong MySQL, số 0 được coi là false.
MySQL chỉ đánh giá phần đầu tiên 1 = 0 của biểu thức 1 = 0 AND 1 / 0. Bởi vì biểu thức 1 = 0 trả về false, MySQL có thể kết luận kết quả của toàn bộ biểu thức, là false. MySQL sau đó không đánh giá phần còn lại của biểu thức là 1/0.
Ví dụ sử dụng toán tử AND trong MySQL
Đầu tiên các bạn hãy tạo môt table employees đơn giản:

Đoạn code dưới đây sẽ lấy ra nhân viên mà có last_name là manh và address ở mydinh.
1 2 3 4 5 6 7 8 |
SELECT first_name, last_name, address FROM employees WHERE last_name= 'manh' AND address= 'mydinh'; |
Kết quả thu được là:

Với toán tử AND, bạn có thể kết hợp nhiều hơn hai biểu thức Boolean. Ví dụ: truy vấn sau trả về nhân viên có first_name là nam, last_name là do và address là ha noi.
1 2 3 4 5 6 7 8 |
SELECT first_name, last_name, address FROM employees WHERE first_name = 'nam' AND last_name= 'do' AND address= 'ha noi'; |
kết quả trả về là:

Kết luận
Như vậy trong bài học ngày hôm nay mình đã hướng dẫn các bạn sử dụng toán tử AND để lọc kết quả trả về trong biểu thức điều kiện. Trong bài học tiếp theo mình sẽ giới thiệu đến các bạn toán tử OR trong MySQL.
Chúc các bạn học tập tốt!