✅ 1. Truy vấn đơn giản (Simple SELECT)
SELECT * FROM nhanvien;
SELECT ten, tuoi FROM nhanvien;
✅ 2. Truy vấn có điều kiện (WHERE)
SELECT * FROM nhanvien WHERE tuoi > 30;
SELECT * FROM nhanvien WHERE ten LIKE 'Nguyen%';
✅ 3. Sắp xếp dữ liệu (ORDER BY)
SELECT * FROM nhanvien ORDER BY tuoi ASC;
SELECT * FROM nhanvien ORDER BY ten DESC;
✅ 4. Giới hạn số dòng (LIMIT / OFFSET)
SELECT * FROM nhanvien LIMIT 5;
SELECT * FROM nhanvien OFFSET 5 LIMIT 10;
✅ 5. Truy vấn có nhóm (GROUP BY + HAVING)
SELECT phongban_id, COUNT(*) FROM nhanvien GROUP BY phongban_id;
SELECT phongban_id, COUNT()
FROM nhanvien
GROUP BY phongban_id
HAVING COUNT() > 3;
✅ 6. Kết hợp bảng (JOIN)
🔹 INNER JOIN
SELECT nv.ten, pb.tenpb
FROM nhanvien nv
INNER JOIN phongban pb ON nv.phongban_id = pb.id;
🔹 LEFT JOIN
SELECT nv.ten, pb.tenpb
FROM nhanvien nv
LEFT JOIN phongban pb ON nv.phongban_id = pb.id;
✅ 7. Truy vấn con (Subquery)
SELECT *
FROM nhanvien
WHERE phongban_id IN (
SELECT id FROM phongban WHERE tenpb = 'Kế toán'
);
✅ 8. Sử dụng hàm trong truy vấn
SELECT UPPER(ten), AGE(CURRENT_DATE, ngay_vao_lam) AS thoigian_lam
FROM nhanvien;
✅ 9. Truy vấn DISTINCT (loại bỏ trùng lặp)
SELECT DISTINCT phongban_id FROM nhanvien;
✅ 10. Kết hợp kết quả (UNION / INTERSECT / EXCEPT)
SELECT ten FROM nhanvien WHERE tuoi < 25
UNION
SELECT ten FROM nhanvien WHERE phongban_id = 2;
✅ 11. CASE - truy vấn điều kiện rẽ nhánh
SELECT ten,
CASE
WHEN tuoi < 25 THEN 'Trẻ'
WHEN tuoi BETWEEN 25 AND 40 THEN 'Trung niên'
ELSE 'Lớn tuổi'
END AS do_tuoi
FROM nhanvien;