1.Toán tử AND, OR và NOT

Các mệnh đề WHERE đều có thể sử dụng các toán tử logic như AND, ORNOT.

Các toán tử AND yêu cầu điều kiện trong mệnh đề WHERE phải thỏa mãn cả 2 vế bên trái và vế bên phải thì sẽ có kết quả là true

Trong đó các toán tử OR chỉ cần điều trong mệnh đề WHERE  thỏa mãn một trong 2 vế là sẽ trả về true

Toán tử NOT sẽ lấy ra các bản ghi theo điều kiện các bản ghi đó phải là không đúng (ngược lại với đúng)

Cú pháp của AND đi kèm với mệnh đề WHERE

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

Cú pháp của OR đi kèm với mệnh đề WHERE

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

Cú pháp của NOT đi kèm với mệnh đề WHERE

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

2. Ví dụ toán tử AND, OR và NOT

Bảng KhachHang dưới đây bao gồm các cột:  ID, TenKH, DiaChi, ThanhPho, SoDienThoai

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
2 Nguyen Van B Quan 5 Ho Chi Minh 0988988988
3 Nguyen Van C Quan 7 Ho Chi Minh 0899899899
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
5 Nguyen Van E Ngo Quen Hai Phong 0858585858
6 Nguyen Van F Ngu Hanh Son Da Nang 0969696969
7 Nguyen Van G Tay Ho Ha Noi 0838383838

Giả sử với yêu cầu tôi cần lấy ra tất cả thông tin của các khách hàng có địa chỉ ở Tây Hồ và thành phố Hà Nội, như vậy tôi sẽ sử dụng câu lệnh SELECT và mệnh đề WHERE với toán tử AND như sau:

SELECT * FROM KhachHang 
WHERE DiaChi = 'Tay Ho' AND ThanhPho = 'Ha Noi';

Kết quả sau khi thực thi sẽ là:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
7 Nguyen Van G Tay Ho Ha Noi 0838383838

Ví dụ tiếp theo tôi sẽ sử dụng toán tử OR để lấy ra thông tin các khách hàng có địa chỉ là Bắc Từ Liêm hoặc các khách hàng có thành phố là Hà Nội. Tôi cũng sử dụng câu lệnh SELECT và mệnh đề WHERE với toán tử OR như sau:

SELECT * FROM KhachHang 
WHERE DiaChi = 'Bac Tu Liem' OR ThanhPho = 'Ha Noi';

Kết quả thực thi như sau:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
7 Nguyen Van G Tay Ho Ha Noi 0838383838

Cuối cùng, giả sử tôi cần lấy ra các thông tin khách hàng không ở thành phố Hồ Chí Minh. Như vậy câu lệnh SELECT và mệnh đề WHERE với toán tử NOT sẽ được sử dụng như sau:

SELECT * FROM KhachHang 
WHERE ThanhPho != 'Ho Chi Minh';

Kết quả:

ID TenKH DiaChi ThanhPho SoDienThoai
1 Nguyen Van A Tay Ho Ha Noi 0888999888
4 Nguyen Van D Bac Tu Liem Ha Noi 0788788788
5 Nguyen Van E Ngo Quen Hai Phong 0858585858
6 Nguyen Van F Ngu Hanh Son Da Nang 0969696969
7 Nguyen Van G Tay Ho Ha Noi 0838383838