Trong MySQL, các toán tử điều kiện được sử dụng để thực hiện các phép so sánh và xác định điều kiện trong các câu lệnh SQL. Dưới đây là các toán tử điều kiện phổ biến và cách sử dụng chúng:
1. Toán tử So Sánh
=
(Bằng)- So sánh xem hai giá trị có bằng nhau không.
SELECT * FROM khach_hang WHERE gioi_tinh = 'M';
<>
hoặc!=
(Khác)- So sánh xem hai giá trị có khác nhau không.
SELECT * FROM khach_hang WHERE gioi_tinh <> 'F';
>
(Lớn hơn)- So sánh xem giá trị bên trái có lớn hơn giá trị bên phải không.
SELECT * FROM san_pham WHERE gia > 100000;
<
(Nhỏ hơn)- So sánh xem giá trị bên trái có nhỏ hơn giá trị bên phải không.
SELECT * FROM san_pham WHERE gia < 50000;
>=
(Lớn hơn hoặc bằng)- So sánh xem giá trị bên trái có lớn hơn hoặc bằng giá trị bên phải không.
SELECT * FROM san_pham WHERE gia >= 50000;
<=
(Nhỏ hơn hoặc bằng)- So sánh xem giá trị bên trái có nhỏ hơn hoặc bằng giá trị bên phải không.
SELECT * FROM san_pham WHERE gia <= 100000;
2. Toán tử Logic
AND
- Kết hợp nhiều điều kiện, yêu cầu tất cả các điều kiện phải đúng.
SELECT * FROM don_hang WHERE tong_tien > 50000 AND ngay_dat >= '2024-01-01';
OR
- Kết hợp nhiều điều kiện, chỉ yêu cầu ít nhất một điều kiện phải đúng.
SELECT * FROM don_hang WHERE tong_tien > 50000 OR ngay_dat >= '2024-01-01';
NOT
- Phủ định điều kiện, yêu cầu điều kiện không đúng.
SELECT * FROM khach_hang WHERE NOT gioi_tinh = 'M';
3. Toán tử BETWEEN
BETWEEN ... AND ...
- Kiểm tra xem giá trị có nằm trong một khoảng cụ thể không.
SELECT * FROM san_pham WHERE gia BETWEEN 50000 AND 100000;
4. Toán tử IN
IN (value1, value2, ...)
- Kiểm tra xem giá trị có thuộc vào một danh sách giá trị không.
SELECT * FROM khach_hang WHERE ma_khach_hang IN (1, 2, 3);
5. Toán tử LIKE
LIKE
- Sử dụng để tìm kiếm mẫu trong một chuỗi.
%
đại diện cho bất kỳ chuỗi ký tự nào (bao gồm chuỗi rỗng)._
đại diện cho một ký tự đơn.
SELECT * FROM san_pham WHERE ten_san_pham LIKE 'Áo%';
SELECT * FROM khach_hang WHERE ten_khach_hang LIKE 'Nguyễn _';
6. Toán tử IS NULL
và IS NOT NULL
IS NULL
- Kiểm tra xem giá trị có phải là
NULL
không.
SELECT * FROM khach_hang WHERE dia_chi IS NULL;
IS NOT NULL
- Kiểm tra xem giá trị không phải là
NULL
.
SELECT * FROM khach_hang WHERE dia_chi IS NOT NULL;
7. Toán tử EXISTS
EXISTS
- Kiểm tra xem một subquery có trả về ít nhất một bản ghi không.
SELECT * FROM khach_hang WHERE EXISTS (SELECT 1 FROM don_hang WHERE don_hang.ma_khach_hang = khach_hang.ma_khach_hang);
8. Toán tử ALL
ALL
- So sánh một giá trị với tất cả các giá trị trong một tập hợp con.
SELECT * FROM san_pham WHERE gia > ALL (SELECT gia FROM san_pham WHERE danh_muc = 'Điện thoại');
Tóm tắt
- Toán tử so sánh:
=
,<>
,>
,<
,>=
,<=
- Toán tử logic:
AND
,OR
,NOT
- Toán tử
BETWEEN
: Kiểm tra giá trị trong một khoảng cụ thể. - Toán tử
IN
: Kiểm tra giá trị trong danh sách giá trị. - Toán tử
LIKE
: Tìm kiếm mẫu trong chuỗi. - Toán tử
IS NULL
vàIS NOT NULL
: Kiểm tra giá trịNULL
. - Toán tử
EXISTS
: Kiểm tra sự tồn tại của subquery. - Toán tử
ALL
: So sánh với tất cả giá trị trong tập hợp con.
Các toán tử điều kiện trong MySQL giúp bạn tạo ra các truy vấn SQL linh hoạt và mạnh mẽ, cho phép bạn xử lý và phân tích dữ liệu theo nhiều cách khác nhau.