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 |
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
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;
Câu lệnh DISTINCT giúp lọc các bản ghi trùng lặp.
SELECT DISTINCT PhongBan FROM tbNhanVien;
Kế toán
Nhân sự
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 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;
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*';
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';
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 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 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 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;
SELECT Employees.FirstName, Employees.LastName, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
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';
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ả