
Học SQL từ con số 0 không hề khó nếu bạn có lộ trình rõ ràng. SQL là ngôn ngữ truy vấn cơ sở dữ liệu phổ biến nhất hiện nay, xuất hiện trong hầu hết mọi hệ thống phần mềm từ website, ứng dụng di động đến phân tích dữ liệu.
SQL là gì?
SQL (Structured Query Language) là ngôn ngữ chuẩn để tạo, đọc, cập nhật và xóa dữ liệu trong cơ sở dữ liệu quan hệ. Khi bạn đăng nhập một website, xem danh sách sản phẩm hay tìm kiếm bài viết, hệ thống phía sau gần như chắc chắn đang chạy một câu lệnh SQL nào đó.
Các hệ quản trị cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, SQL Server, Oracle và SQLite đều sử dụng SQL. Học một lần, bạn dùng được cho tất cả, vì cú pháp cơ bản gần như giống nhau.
Tại sao nên học SQL?
- Dễ học nhất trong các ngôn ngữ lập trình: cú pháp gần với tiếng Anh thông thường, ví dụ
SELECT name FROM users. - Nhu cầu tuyển dụng cao: lập trình viên, data analyst, data scientist, tester đều cần SQL.
- Xử lý dữ liệu lớn hiệu quả: một câu lệnh SQL có thể thao tác hàng triệu dòng dữ liệu trong tích tắc.
- Nền tảng cho các kỹ năng nâng cao: hiểu SQL giúp bạn học database design, data warehouse hay big data dễ dàng hơn.
Những lệnh SQL cơ bản cần nắm
Bốn lệnh nền tảng được viết tắt là CRUD (Create, Read, Update, Delete):
INSERT— thêm dữ liệu mớiSELECT— đọc dữ liệuUPDATE— cập nhật dữ liệuDELETE— xóa dữ liệu
Lệnh SELECT
Đây là lệnh được dùng nhiều nhất. Ví dụ lấy tên và email của khách hàng ở Hà Nội:
SELECT name, email
FROM customers
WHERE city = 'Ha Noi'
ORDER BY name;
Lệnh INSERT
Thêm một khách hàng mới vào bảng:
INSERT INTO customers (name, email, city)
VALUES ('Nguyen Van A', '[email protected]', 'Ha Noi');
Lệnh UPDATE
Cập nhật thông tin khách hàng có mã số 5:
UPDATE customers
SET phone = '0901234567'
WHERE id = 5;
Lưu ý: luôn dùng WHERE khi update, nếu không toàn bộ bảng sẽ bị thay đổi.
Lệnh DELETE
DELETE FROM customers
WHERE id = 5;
JOIN — kỹ năng quan trọng bậc nhất
Dữ liệu trong cơ sở dữ liệu quan hệ thường được chia vào nhiều bảng để tránh trùng lặp. JOIN giúp gộp dữ liệu từ nhiều bảng lại với nhau. Ví dụ lấy danh sách đơn hàng kèm tên khách hàng:
SELECT orders.id, customers.name, orders.total
FROM orders
JOIN customers ON orders.customer_id = customers.id;
Các loại JOIN phổ biến: INNER JOIN (chỉ lấy bản ghi khớp cả hai bảng), LEFT JOIN (lấy toàn bộ bảng trái), RIGHT JOIN và FULL JOIN.
GROUP BY và hàm tổng hợp
Khi cần thống kê, bạn dùng các hàm như COUNT, SUM, AVG, MIN, MAX kết hợp với GROUP BY. Ví dụ đếm số khách hàng theo từng thành phố:
SELECT city, COUNT(*) AS customer_count
FROM customers
GROUP BY city;
Subquery — truy vấn con
Subquery là câu lệnh SELECT nằm bên trong một câu lệnh khác, dùng để lọc dữ liệu theo kết quả trung gian. Ví dụ tìm khách hàng có tổng giá trị đơn hàng cao hơn mức trung bình:
SELECT name
FROM customers
WHERE id IN (
SELECT customer_id
FROM orders
GROUP BY customer_id
HAVING SUM(total) > (SELECT AVG(total) FROM orders)
);
Subquery giúp viết các truy vấn phức tạp một cách rõ ràng, dễ đọc và dễ bảo trì.
Index — tăng tốc truy vấn
Khi bảng có hàng triệu dòng, mọi truy vấn không có index sẽ quét toàn bộ bảng, rất chậm. Index giống như mục lục của cuốn sách, giúp cơ sở dữ liệu tìm dòng cần thiết ngay lập tức:
CREATE INDEX idx_customers_city ON customers (city);
Đánh index đúng chỗ (cột dùng trong WHERE và JOIN) có thể tăng tốc truy vấn lên hàng trăm lần. Tuy nhiên index cũng làm chậm INSERT và UPDATE, nên không nên lạm dụng.
Nên bắt đầu với cơ sở dữ liệu nào?
| Hệ quản trị | Điểm mạnh | Phù hợp với |
|---|---|---|
| SQLite | Cài đặt tối giản, chạy trên một file duy nhất | Người mới, ứng dụng nhỏ, học tập |
| PostgreSQL | Mạnh mẽ, nhiều tính năng nâng cao, mã nguồn mở | Ứng dụng thực tế, phân tích dữ liệu |
| MySQL | Phổ biến, dễ tìm tài liệu, chạy khỏe | Website, hệ thống thương mại điện tử |
Bạn có thể thực hành ngay trên trình duyệt với SQL Tutorial của W3Schools hoặc SQLite mà không cần cài đặt gì phức tạp.
Lộ trình học SQL cho người mới
- Tuần 1: nắm vững SELECT, WHERE, ORDER BY, LIMIT.
- Tuần 2: học INSERT, UPDATE, DELETE và ràng buộc dữ liệu.
- Tuần 3: làm quen JOIN, GROUP BY, hàm tổng hợp.
- Tuần 4: học subquery, index, và thiết kế bảng cơ bản.
- Liên tục: làm bài tập thực tế trên dữ liệu thật, chẳng hạn phân tích bộ dữ liệu công khai.
Kết luận
SQL là kỹ năng có giá trị lâu dài, không bao giờ lỗi thời dù công nghệ phía trên có thay đổi thế nào. Chỉ cần vài tuần luyện tập đều đặn, bạn đã có thể tự tin truy vấn dữ liệu và phục vụ công việc. Hãy bắt đầu ngay hôm nay với một câu lệnh SELECT đơn giản nhất.
