Dưới đây là một số câu lệnh SQL cơ bản và chuẩn trong Access sử dụng SELECT các bạn cần hiểu để nắm rõ hơn cách vận hành của Ms Access.
SELECT * FROM TenBang;
Lệnh này sẽ trả về tất cả các trường (columns) và dòng (rows) trong bảng TenBang.
SELECT TenTruong1, TenTruong2 FROM TenBang;
Lệnh này sẽ chỉ trả về các trường TenTruong1 và TenTruong2 từ bảng TenBang.
SELECT TenTruong1, TenTruong2 FROM TenBang WHERE DieuKien;
Ví dụ: Chọn tất cả học viên có điểm lớn hơn 8.
SELECT MaHocVien, HoTen, Diem FROM tbHocVien WHERE Diem > 8;
Lệnh này chỉ trả về các trường của các học viên có điểm lớn hơn 8.
SELECT TenTruong1, TenTruong2 FROM TenBang ORDER BY TenTruong1;
Lệnh này sẽ sắp xếp các kết quả theo TenTruong1 theo thứ tự tăng dần (theo mặc định). Bạn có thể thay đổi thứ tự sắp xếp theo giảm dần (DESC) bằng cách sử dụng ORDER BY TenTruong1 DESC.
Ví dụ sắp xếp theo điểm giảm dần:
SELECT MaHocVien, HoTen, Diem FROM tbHocVien ORDER BY Diem DESC;
SELECT DISTINCT TenTruong FROM TenBang;
Lệnh này sẽ loại bỏ các giá trị trùng lặp và chỉ trả về các giá trị khác biệt trong trường TenTruong.
Ví dụ, chọn tất cả các lớp khác nhau từ bảng học viên:
SELECT DISTINCT Lop FROM tbHocVien;
SELECT TOP 5 TenTruong FROM TenBang;
Lệnh này sẽ chỉ trả về 5 dòng đầu tiên trong bảng TenBang.
Ví dụ, chọn 3 học viên có điểm cao nhất:
SELECT TOP 3 MaHocVien, HoTen, Diem FROM tbHocVien ORDER BY Diem DESC;
SELECT TenTruong1, TenTruong2 FROM TenBang WHERE DieuKien1 AND DieuKien2;
Ví dụ, chọn học viên có điểm từ 5 đến 10:
SELECT MaHocVien, HoTen, Diem FROM tbHocVien WHERE Diem BETWEEN 5 AND 10;
Hoặc kết hợp với OR:
SELECT MaHocVien, HoTen, Diem FROM tbHocVien WHERE Diem < 5 OR Diem > 8;
Access hỗ trợ các hàm tổng hợp như SUM(), AVG(), COUNT(), MAX(), MIN().
Tính tổng điểm của tất cả học viên:
SELECT SUM(Diem) AS TongDiem FROM tbHocVien;
Tính điểm trung bình:
SELECT AVG(Diem) AS DiemTrungBinh FROM tbHocVien;
Đếm số học viên:
SELECT COUNT(*) AS SoHocVien FROM tbHocVien;
Khi bạn muốn nhóm dữ liệu theo một trường và thực hiện các phép toán tổng hợp trên nhóm, bạn có thể sử dụng GROUP BY.
Ví dụ, nhóm học viên theo lớp và tính tổng điểm cho mỗi lớp:
SELECT Lop, SUM(Diem) AS TongDiem FROM tbHocVien GROUP BY Lop;
Khi bạn muốn kết hợp dữ liệu từ nhiều bảng, bạn có thể sử dụng JOIN.
Ví dụ, kết hợp bảng tbHocVien và bảng tbLop để lấy tên lớp của mỗi học viên:
SELECT tbHocVien.MaHocVien, tbHocVien.HoTen, tbLop.TenLop
FROM tbHocVien
INNER JOIN tbLop ON tbHocVien.Lop = tbLop.Lop;
Lệnh này sử dụng INNER JOIN để chỉ trả về các học viên có thông tin lớp trong bảng tbLop.
Nếu bạn muốn tìm kiếm một giá trị nào đó theo mẫu, bạn có thể sử dụng LIKE.
Ví dụ, tìm tất cả học viên có tên bắt đầu bằng "Nguyen":
SELECT MaHocVien, HoTen FROM tbHocVien WHERE HoTen LIKE "Nguyen*";
Dấu * là ký tự đại diện (wildcard) trong Access để tìm kiếm các chuỗi bắt đầu với "Nguyen".
SELECT TenTruong1, TenTruong2 FROM TenBang WHERE TenTruong1 BETWEEN GiaTri1 AND GiaTri2;
Ví dụ, tìm học viên có điểm từ 5 đến 8:
SELECT MaHocVien, HoTen, Diem FROM tbHocVien WHERE Diem BETWEEN 5 AND 8;
SELECT TenTruong FROM TenBang WHERE TenTruong IN (GiaTri1, GiaTri2, GiaTri3);
Ví dụ, tìm các học viên có lớp là "A1" hoặc "B1":
SELECT MaHocVien, HoTen, Lop FROM tbHocVien WHERE Lop IN ("A1", "B1");
Tìm kiếm:
Trong Access, câu lệnh SQL chủ yếu sử dụng để truy vấn và thao tác với dữ liệu trong các bảng.