Một số câu lệnh Select trong VBA Access

Hiểu và nắm rõ cú pháp một số câu lệnh Select trong VBA Access giúp ta làm phần mềm quản lý nhanh và hiệu quả

Dưới đây là một số câu lệnh SELECT cơ bản và phổ biến trong SQL Server để truy vấn và xử lý dữ liệu từ cơ sở dữ liệu.

Với bảng dữ liệu nhân viên (tbNhanVien)  mẫu sau để thực hành các câu SQL

MaNhanVien HoTen NgaySinh GioiTinh PhongBan NgayBatDauLamViec Luong
NV001 Nguyễn Văn A 1985-05-12 Nam Kế toán 2010-03-15 20,000,000
NV002 Trần Thị B 1990-08-22 Nữ Nhân sự 2015-06-01 10,500,000
NV003 Lê Minh C 1992-11-30 Nam Nhân sự 2018-01-10 18,000,000
NV004 Phạm Thị D 1988-02-25 Nữ Kế toán 2017-07-20 15,000,000
NV005 Võ Hoàng E 1995-07-08 Nam Kế toán 2020-09-15 12,000,000
NV006 Mỹ Lê 1995-01-08 Nữ IT 2020-09-15 19,000,000

1. Câu lệnh SELECT cơ bản

Câu lệnh SELECT dùng để truy vấn và lấy dữ liệu từ bảng.

SELECT column1, column2, ... FROM table_name
SELECT * FROM Employees

Ví dụ: Truy vấn tất cả các cột từ bảng nhân viên:

Select * From tbNhanVien

2. Chọn các cột cụ thể

Bạn có thể chọn chỉ những cột bạn cần thay vì tất cả các cột.

SELECT HoTen, PhongBan FROM tbNhanVien;

3. Sử dụng DISTINCT để loại bỏ giá trị trùng lặp

Câu lệnh DISTINCT giúp lọc các bản ghi trùng lặp.

SELECT DISTINCT PhongBan FROM tbNhanVien;


Trong ví dụ trên, câu lệnh sẽ trả về danh sách các phòng ban mà không bị trùng lặp.

Kế toán
Nhân sự

4. Sử dụng WHERE để lọc dữ liệu

Câu lệnh WHERE dùng để lọc dữ liệu theo một điều kiện cụ thể.

SELECT * FROM tbNhanVien WHERE Luong > 10000000;


Câu lệnh trên trả những nhân viên có lương lớn hơn 10,000,000.

5. Sắp xếp dữ liệu với ORDER BY

Câu lệnh ORDER BY dùng để sắp xếp kết quả theo thứ tự tăng dần (ASC) hoặc giảm dần (DESC).

Ví dụ muốn sắp xếp lương tăng dần

SELECT * FROM tbNhanVien ORDER BY Luong;

Ví dụ muốn sắp xếp lương giảm dần

SELECT * FROM tbNhanVien ORDER BY Luong DESC;

6. Sử dụng LIKE để tìm kiếm theo mẫu

Câu lệnh LIKE dùng để tìm kiếm một mẫu chuỗi.

SELECT * FROM tbNhanVien WHERE HoTen LIKE 'Trần*';


Câu lệnh trên sẽ trả về danh sách các nhân viên có tên bắt đầu bằng chữ "Trần".

8. Sử dụng AND và OR để kết hợp nhiều điều kiện

Bạn có thể kết hợp nhiều điều kiện trong câu lệnh WHERE với các toán tử AND và OR.

SELECT * FROM tbNhanVien 
WHERE Luong> 5000000 AND PhongBan= 'kế toán';


Trong ví dụ này, câu lệnh sẽ trả về các nhân viên có lương lớn hơn 5,000,000 và thuộc phòng ban 'kế toán'.

9. Sử dụng IN để kiểm tra giá trị trong một danh sách

Câu lệnh IN giúp bạn kiểm tra xem giá trị có nằm trong một danh sách hay không.

SELECT * FROM tbNhanVien 
WHERE PhongBan IN ('IT', 'Kế toán');


Câu lệnh trên sẽ trả về các nhân viên thuộc các phòng ban 'IT', 'Kế toán'.

10. Sử dụng BETWEEN để tìm kiếm trong một phạm vi

Câu lệnh BETWEEN giúp bạn lọc dữ liệu nằm trong một phạm vi giá trị cụ thể.

SELECT * FROM tbNhanVien
WHERE Luong BETWEEN 40000 AND 80000;


Câu lệnh này sẽ trả về các nhân viên có lương từ 40,000 đến 80,000.

11. Sử dụng GROUP BY để nhóm dữ liệu

Câu lệnh GROUP BY dùng để nhóm các bản ghi theo một hoặc nhiều cột và có thể tính toán các hàm tổng hợp (SUM, AVG, COUNT, v.v.).

SELECT PhongBan, COUNT(*) AS TongSoNhanVien FROM tbNhanVien
GROUP BY Department;


Câu lệnh này sẽ trả về số lượng nhân viên trong mỗi phòng ban.

12. Sử dụng JOIN để kết hợp nhiều bảng

Câu lệnh JOIN dùng để kết hợp dữ liệu từ nhiều bảng dựa trên một điều kiện chung.
INNER JOIN

SELECT Employees.FirstName, Employees.LastName, Departments.DepartmentName
FROM Employees
INNER JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;


Câu lệnh này sẽ trả về danh sách nhân viên và tên phòng ban của họ, chỉ bao gồm những nhân viên có phòng ban tương ứng trong bảng Departments.
LEFT JOIN:

SELECT Employees.FirstName, Employees.LastName, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;


Câu lệnh này sẽ trả về tất cả nhân viên, ngay cả những nhân viên không có phòng ban (với giá trị NULL trong DepartmentName).

13. Sử dụng UNION để kết hợp kết quả từ nhiều câu truy vấn

Câu lệnh UNION dùng để kết hợp kết quả từ nhiều câu truy vấn SELECT thành một kết quả duy nhất. Lưu ý rằng tất cả các câu truy vấn SELECT trong UNION phải có cùng số lượng cột và kiểu dữ liệu.

SELECT FirstName, LastName
FROM Employees
WHERE Department = 'HR'
UNION
SELECT FirstName, LastName
FROM Employees
WHERE Department = 'Finance';


Câu lệnh này sẽ trả về danh sách nhân viên từ phòng ban 'HR' và 'Finance'.
Tổng kết:

SQL Server cung cấp nhiều câu lệnh SELECT và các tính năng mạnh mẽ như JOIN, GROUP BY, HAVING, IN, BETWEEN, DISTINCT, để giúp bạn thực hiện các truy vấn dữ liệu phức tạp từ cơ sở dữ liệu. Các câu lệnh trên chỉ là những ví dụ cơ bản, bạn có thể kết hợp chúng để thực hiện các truy vấn phức tạp hơn.

Bài viết liên quan:

Hiểu và nắm rõ cú pháp một số câu lệnh Select trong VBA Access giúp ta làm phần mềm quản lý nhanh và hiệu quả