Trong thực tế, việc truy vấn dữ liệu không chỉ đơn giản là lấy toàn bộ bảng ra. Chúng ta cần khả năng lọc dữ liệu theo điều kiện cụ thể, ví dụ như: “Lấy ra những học sinh có điểm trên 8”, hoặc “Tìm nhân viên thuộc phòng Kế Toán và có lương trên 10 triệu”. Để làm được điều này, chúng ta sử dụng toán tử so sánh và logic trong SQL – công cụ cực kỳ mạnh mẽ để xử lý các điều kiện trong câu lệnh WHERE
.
1. Toán tử so sánh trong SQL
Toán tử | Ý nghĩa | Ví dụ |
---|---|---|
= | Bằng | WHERE age = 18 |
<> | Khác | WHERE department <> 'HR' |
> | Lớn hơn | WHERE score > 7 |
< | Nhỏ hơn | WHERE price < 1000000 |
>= | Lớn hơn hoặc bằng | WHERE salary >= 15000000 |
<= | Nhỏ hơn hoặc bằng | WHERE age <= 30 |
BETWEEN ... AND ... | Trong khoảng giá trị | WHERE score BETWEEN 7 AND 9 |
IN (...) | Nằm trong danh sách giá trị | WHERE class IN ('A1', 'A2', 'A3') |
LIKE | So khớp mẫu (thường dùng với chuỗi) | WHERE name LIKE 'Nguyen%' |
IS NULL , IS NOT NULL | Kiểm tra giá trị rỗng | WHERE email IS NOT NULL |
Ví dụ thực tế:
SELECT * FROM students
WHERE score >= 8;
SELECT * FROM employees
WHERE department IN ('Sales', 'Marketing');
2. Toán tử logic trong SQL
Khi muốn kết hợp nhiều điều kiện lại với nhau, ta cần đến toán tử logic.
Toán tử | Ý nghĩa | Ví dụ |
---|---|---|
AND | Và – tất cả điều kiện phải đúng | WHERE age > 18 AND gender = 'Male' |
OR | Hoặc – chỉ cần một điều kiện đúng | WHERE department = 'HR' OR salary > 20 |
NOT | Phủ định điều kiện | WHERE NOT (score < 5) |
Ví dụ kết hợp:
SELECT * FROM students
WHERE class = 'A1' AND score >= 8;
SELECT * FROM employees
WHERE department = 'IT' OR department = 'Support';
SELECT * FROM orders
WHERE NOT (status = 'cancelled');
3. Gợi ý thực hành
Đề bài: Hãy lấy ra danh sách các học sinh:
- Có điểm trên 7 và lớp là A1.
- Thuộc lớp A2 hoặc A3.
- Không có email (trường
email
là NULL).
Gợi ý câu lệnh:
SELECT * FROM students
WHERE score > 7 AND class = 'A1';
SELECT * FROM students
WHERE class IN ('A2', 'A3');
SELECT * FROM students
WHERE email IS NULL;
Kết luận
Việc sử dụng thành thạo các toán tử so sánh và logic là bước đệm cực kỳ quan trọng để xây dựng các câu truy vấn dữ liệu có điều kiện. Chúng giúp bạn lọc dữ liệu chính xác hơn, từ đó phục vụ hiệu quả cho phân tích, báo cáo, hoặc xây dựng tính năng trong ứng dụng.
Trong bài tiếp theo, chúng ta sẽ học cách sắp xếp kết quả trả về theo một thứ tự mong muốn bằng ORDER BY
. Đây là công cụ quan trọng để làm sạch và trình bày dữ liệu một cách chuyên nghiệp hơn.
Thảo luận