07/09/2018, 11:10

Toán Tử AND, OR Và NOT Trong SQL

Toán Tử AND, OR Và NOT Trong SQL Mệnh đề WHERE có thể được kết hợp với các toán tử AND , OR và NOT. Toán tử AND và OR được sử dụng để lọc các bản ghi dựa trên nhiều hơn một điều kiện: Toán tử AND hiển thị một bản ghi nếu tất cả các điều kiện được phân cách bởi AND là TRUE ...

Toán Tử AND, OR Và NOT Trong SQL

Mệnh đề WHERE có thể được kết hợp với các toán tử AND, ORNOT.

Toán tử ANDOR được sử dụng để lọc các bản ghi dựa trên nhiều hơn một điều kiện:

Toán tử AND hiển thị một bản ghi nếu tất cả các điều kiện được phân cách bởi ANDTRUE. Toán tử OR hiển thị một bản ghi nếu bất kỳ điều kiện nào được phân tách bằng ORTRUE. Toán tử NOT sẽ hiển thị một bản ghi nếu điều kiện không đúng.

Cú Pháp Toán Tử AND

SELECT cột_1, cột_2, ...FROM tên_bảng WHERE điều_kiện1 AND điều_kiện2 AND điều_kiện3 ...;

Cú Pháp Toán Tử OR

SELECT cột_1, cột_2, ...FROM tên_bảng WHERE điều_kiện1 OR điều_kiện2 OR điều_kiện3 ...;

Cú Pháp Toán Tử NOT

SELECT cột_1, cột_2, ...FROM tên_bảng WHERE NOT điều_kiện;

Dữ Liệu DEMO

Dưới đây là dữ liệu từ bảng khach_hang trong cơ sở dữ liệu:

| ID | ten_khach_hang   | tuoi | dia_chi     |
|----|------------------|------|-------------|
| 1  | Nguyễn Thị Thắm  | 20   | Gia Lâm     |
| 2  | Hoàng Văn Sơn    | 21   | Hoàng Mai   |
| 3  | Phạm Thị Hương   | 20   | Hà Đông     |
| 4  | Nguyễn Văn Chiến | 22   | Nguyễn Trãi |
| 5  | Nguyễn Thị Thu   | 21   | Giáp Bát    |

Ví Dụ Về Toán Tử AND

Câu lệnh SQL sau đây chọn tất cả các trường từ bảng khach_hang, có tuoi = 20 và có dia_chi ở Gia Lâm:

SELECT * FROM khach_hang WHERE tuoi = 20 AND dia_chi = 'Gia Lâm';

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

| ID | ten_khach_hang  | tuoi | dia_chi |
|----|-----------------|------|---------|
| 1  | Nguyễn Thị Thắm | 20   | Gia Lâm |

Ví Dụ Về Toán Tử OR

Câu lệnh SQL sau đây chọn tất cả các trường từ bảng khach_hang, có tuoi = 20 hoặc 22:

SELECT * FROM khach_hang WHERE tuoi = 20 OR tuoi = 22;

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

| ID | ten_khach_hang   | tuoi | dia_chi     |
|----|------------------|------|-------------|
| 1  | Nguyễn Thị Thắm  | 20   | Gia Lâm     |
| 3  | Phạm Thị Hương   | 20   | Hà Đông     |
| 4  | Nguyễn Văn Chiến | 22   | Nguyễn Trãi |

Ví Dụ Về Toán Tử NOT

Câu lệnh SQL sau đây chọn tất cả các trường từ bảng khach_hang, có tuoi không phải là 20:

SELECT * FROM khach_hang WHERE NOT tuoi = 20;

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

| ID | ten_khach_hang   | tuoi | dia_chi     |
|----|------------------|------|-------------|
| 2  | Hoàng Văn Sơn    | 21   | Hoàng Mai   |
| 4  | Nguyễn Văn Chiến | 22   | Nguyễn Trãi |
| 5  | Nguyễn Thị Thu   | 21   | Giáp Bát    |

Kết Hợp Giữa AND, OR và NOT

Bạn có thể kết hợp các toán tử AND, OR và NOT với nhau trong SQL. Ví dụ:

Câu lệnh SQL sau đây chọn tất cả các trường từ bảng khach_hang, có tuoi = 20 và có dia_chi ở Gia Lâm hoặc Hà Đông:

SELECT * FROM khach_hang WHERE tuoi = 20 AND (dia_chi = 'Gia Lâm' OR dia_chi = 'Hà Đông');

Kết quả trả về sẽ là:

    | ID | ten_khach_hang   | tuoi | dia_chi     |
    |----|------------------|------|-------------|
    | 1  | Nguyễn Thị Thắm  | 20   | Gia Lâm     |
    | 3  | Phạm Thị Hương   | 20   | Hà Đông     |

Câu lệnh SQL sau đây chọn tất cả các trường từ bảng khach_hang, không có tuoi = 20 và không có dia_chi ở Hoàng Mai:

SELECT * FROM khach_hang WHERE NOT tuoi = 20 AND  NOT dia_chi = 'Hoàng Mai';

Kết quả trả về sẽ như sau:

    | ID | ten_khach_hang   | tuoi | dia_chi     |
    |----|------------------|------|-------------|
    | 4  | Nguyễn Văn Chiến | 22   | Nguyễn Trãi |
    | 5  | Nguyễn Thị Thu   | 21   | Giáp Bát    |
0