Bài viết này chúng ta sẽ tìm hiểu về các toán tử OR, AND và NOT trong MySQL. Khi nào thì dùng toán tử OR, khi nào dùng AND và khi nào thì dùng NOT.
Toán tử OR, AND và NOT
Trong hệ quản trị cơ sở dữ liệu MySQL, các toán tử AND – OR – NOT thường được sử dụng kết hợp với mệnh đề WHERE để cụ thể hóa việc xác định những hàng (bản ghi, record) mà chúng ta muốn chọn lọc để thực hiện các thao tác dữ liệu (truy xuất, cập nhật, xóa).
– Toán tử AND và OR được sử dụng thực hiện việc chọn lọc dữ liệu dựa trên nhiều điều kiện kết hợp.
- Toán tử
AND
thỏa mãn khi tất cả các điều kiện đặt ra đều đúng(lấy ra các hàng đáp ứng tất cả các điều kiện đặt ra). - Toán tử
OR
thỏa mãn khi chỉ cần ít nhất một trong số tất cả điều kiện đặt ra đều đúng(lấy các hàng chỉ cần có ít nhất 1 trong các điều kiện đắp ứng điều kiện đặt ra).
– Toán tử NOT là toán tử phủ định, toán tử NOT lấy ra các hàng(bản ghi, record) không đáp ứng điều kiện(điều kiện sai).
Cú Pháp và Ví dụ
Ví dụ mình có bảng Users gồm cột id, name, city, age. Bảng có lưu dữ liệu như bên dưới.
Toán tử OR
Bây giờ mình muốn lấy ra các hàng(user) nào có city là Thai Nguyen hoặc Phu Tho như vậy cần sử dụng toán tử OR để truy vấn và truy xuất được cả bản ghi đó.
Cú pháp
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
Trong đó:
- SELECT column1, column2, …: SELECT là lệnh truy xuất dữ liệu, column1, column2 liệt kê các cột trong bảng sẽ được lấy. Ở đây mình ví dụ với lệnh SELECT, các lệnh khác khi sử dụng toán tử cũng tương tự.
- table_name: Tên bảng
- condition1, condition2, condition3… Lần lượt các điều kiện.
Truy vấn dữ liệu với yêu cầu bên trên, lệnh SQL đầy đủ sẽ như sau:
SELECT * FROM users
WHERE city = "Thai Nguyen" OR city = "Phu Tho"
Kết quả khi thực hiện truy vấn
>>XEM THÊM: Mệnh đề WHERE trong MySQL – Mệnh đề điều kiện
Toán tử AND
Cú pháp
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
Trong đó: [tương tự Toán tử OR]
Vẫn với bảng dữ liệu bên trên, bây giở mình muốn lấy ra các user quê ở Thái Nguyên, thế nhưng tuổi phải ở trên 30 tuổi (>30). Vậy lúc này sẽ viết lệnh SQL và dùng toán tử AND như sau.
SELECT * FROM users
WHERE city = "Thai Nguyen" AND age > 30
Khi thực hiện lệnh truy vấn ta nhận được kết quả chỉ có duy nhất 1 hàng thỏa mãn điều kiện đó.
>>XEM THÊM: Mã nguồn website thương mại điện tử – Cửa hàng Chương Mobile
Toán tử NOT
Cú pháp
SELECT column1, column2, column3, . . . .
FROM table_name
WHERE NOT condition;
Trong đó: [tương tự Toán tử OR]
Trong ví dụ này, mình sẽ lấy ra các user có quê là khác Thái Nguyên, tức là quê không ở Thái Nguyên. Vậy mình sẽ viết câu lệnh truy vấn SQL với toán tử NOT như sau:
SELECT * FROM users
WHERE NOT city = "Thai Nguyen"
Và khi thực hiện kết quả truy vấn ta sẽ nhận được các hàng(user) như dưới đây.
Cảm ơn bạn đã đọc hết bài viết! Chúc Bạn học tốt!
[XEM TẤT CẢ CÁC BÀI HƯỚNG DẪN MYSQL TẠI ĐÂY]
XEM THÊM Mệnh đề WHERE trong MySQL – Mệnh đề điều kiện Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT MySql là gì? Tìm hiểu về hệ quản trị cơ sở dữ liệu MySql