Toán tử Logic SQL

Với các toán tử Logic SQL bạn có thể kết hợp hai giá trị Boolean để trả về giá trị false, true, null

Bảng toán tử Logic SQL
AND Toán tử VÀ. TRUE nếu cả hai là true. Ví dụ: Price <=40 AND Price >=35
OR Toán tử HOẶC. TRUE nếu 1 trong 2 là TRUE. Ví dụ Price <=5 OR Price >=100
IN Trả về TRUE nếu giá trị số hạng có trong một danh sách biểu thức. Ví dụ Price IN (21.35,9.2,100)
NOT Toán tử PHỦ ĐỊNH. TRUE nếu biểu thức là FALSE. Ví dụ (NOT Price > 8)

Ví dụ toán tử AND

Chọn ra các bản ghi của bảng Products là các sản phẩm có giá nhỏ hơn 40 và lớn hơn 35.

SELECT * FROM Sanpham
WHERE Gia <=60000 AND Gia >=50000

Kết quả:

SanphamIDTenSanphamCungcapIDDanhmucIDDonviGia
13Cá viên đông lạnh Home Food gói 500g68túi60000
24Lốc 6 Chai Olong Không Đường Tea+101lốc50000
57Bột ngũ cốc Calsome hương Vani265túi51000
62Bánh Goute Hộp 8 Cái293hộp50000
68Bánh Yến Mạch + mè đen Fine83hộp50000

Có một file CSDL mẫu dạng SQLite, bạn có thể tải về thực hành: CSDL SQLite mẫu. Hoặc Chạy SQL Online

Hoặc ví dụ:

SELECT * FROM Khachhang
WHERE Quocgia = 'Việt Nam' AND Thanhpho = 'Sơn La'

Toán tử OR

Chọn ra các bản ghi từ bảng Customers mà có City bằng Berlin hoặc Madrid

SELECT * FROM khachhang
WHERE Thanhpho = 'Bình Dương' OR Thanhpho = 'Hưng Yên'
KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
6Trần Thị Minh ChâuTrần Thị Minh Châusizxey Hưng YênHưng Yên100Việt Nam
19Nguyễn Ngọc AnhNguyễn Ngọc Anhzsb Bình DươngBình Dương777Đức
41Đinh Ngọc KhánhĐinh Ngọc Khánhcctzlelo Bình DươngBình Dương999Ý
42Hồ Nguyễn Minh KhuêHồ Nguyễn Minh Khuêeca Hưng YênHưng Yên999Anh

Kết hợp AND/OR

Các điều kiện Logic có thể kết hợp nhiều toán tử Logic: AND OR NOT ...

Ví dụ: Lấy các bản ghi là các khách hàng đến từ Đức, ở thành phố Berlin hoặc Stuttgart.

SELECT * FROM Khachhang
WHERE Quocgia = 'Việt Nam' AND (Thanhpho = 'Cao Bằng' OR Thanhpho = 'Đồng Nai')
Chạy thử
KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
11Mạc Trung ĐứcMạc Trung Đứcivwfcu Đồng NaiĐồng Nai500Việt Nam
39Nguyễn Hữu Ngọc KhánhNguyễn Hữu Ngọc Khánhnwsh Cao BằngCao Bằng100Việt Nam

Ví dụ Toán tử IN

Ví dụ: Lấy các khách hàng có địa chỉ ở Berlin hoặc London hoặc Madrid

SELECT * FROM Khachhang
WHERE Thanhpho IN ('Bình Dương', 'Bạc Liêu', 'Hải Dương')
KhachhangIDHoTenTenLienLacDiachiThanhphoMaBuudienQuocGia
7Tăng Phương ChiTăng Phương Chig Hải DươngHải Dương888Mỹ
9Nguyễn Thái DươngNguyễn Thái Dươngmnn Bạc LiêuBạc Liêu222Mỹ
19Nguyễn Ngọc AnhNguyễn Ngọc Anhzsb Bình DươngBình Dương777Đức
41Đinh Ngọc KhánhĐinh Ngọc Khánhcctzlelo Bình DươngBình Dương999Ý
50Lê Quỳnh NhiLê Quỳnh Nhieqauglc Hải DươngHải Dương666Đức
53Đào Duy TháiĐào Duy Tháirxbhgrh Bạc LiêuBạc Liêu455Anh

Toán tử NOT

Toán tử phủ định là NOT, ví dụ lấy các khách hàng không phải ở Germany, Mexico, Spain

SELECT * FROM Khachhang
WHERE Quocgia NOT IN('Mỹ', 'Đức', 'Việt Nam')

Đăng ký nhận bài viết mới