Bài MySQL 15: Toán tử OR trong MySQL

0
294

Xin chào các bạn, trong bài học ngày hôm trước mình đã 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, còn trong bài ngày hôm nay mình sẽ giới thiệu đến các bạn một toán tử cũng rất quan trọng đó là toán tử OR.

Giới thiệu

Toán tử OR dùng để kết hợp các biểu thức Boolean giúp lọc kết quả trả về, nó sẽ trả về true nếu một trong hai điều kiện là đúng.

Cú pháp của toán tử OR:

Cả boolean_expression_1boolean_expression_2 là các biểu thức Boolean trả về true, false hoặc NULL.

Bảng sau đây cho thấy kết quả trả về của toán tử OR.

TRUE FALSE NULL
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE NULL
NULL TRUE NULL NULL

MySQL sử dụng đánh giá short_curcuit cho toán tử OR. Nói cách khác, MySQL sẽ dừng các phần còn lại của câu lệnh khi nó đã có thể xác định kết quả.

Ví dụ:

kết quả trả về là:

Bởi vì biểu thức 1 = 1 luôn luôn trả về true nên MySQL sẽ không đánh giá biểu thức 1 / 0. Nếu nó chạy tiếp câu lệnh đó thì nó đã phát sinh lỗi chia cho 0.

Toán tử ưu tiên

Khi bạn sử dụng nhiều toán tử logic trong một biểu thức, MySQL sẽ đánh giá các toán tử OR sau toán tử AND. Điều này được gọi là sự ưu tiên toán tử.

Toán tử ưu tiên xác định thứ tự đánh giá của các toán tử. MySQL đánh giá toán tử có ưu tiên cao hơn trước tiên.

Ví dụ:

kết quả là:

Cách nó hoạt động:

  • Đầu tiên, MySQL đánh giá toán tử AND, do đó biểu thức false AND false trả về false.
  • Thứ hai, MySQL đánh giá toán tử OR do đó biểu thức true OR false trả về true.

Để thay đổi thứ tự đánh giá, bạn sử dụng dấu ngoặc đơn, ví dụ:

kết quả là:

Ví dụ về toán tử OR

Chúng ta sẽ tiếp tục sử dụng bảng employees cho ví dụ về toán tử OR.

Ví dụ: để có được nhân viên có địa chỉ tại ha noi hoặc thanh hoa, bạn sử dụng toán tử OR trong mệnh đề WHERE như sau:

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 đã giới thiệu đến các bạn toán tử OR trong MySQL. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về lệnh LIMIT trong MySQL.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây