Học SQL từ đầu: hướng dẫn toàn diện cho người mới

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ới
  • SELECT — đọc dữ liệu
  • UPDATE — cập nhật dữ liệu
  • DELETE — 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 JOINFULL 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

  1. Tuần 1: nắm vững SELECT, WHERE, ORDER BY, LIMIT.
  2. Tuần 2: học INSERT, UPDATE, DELETE và ràng buộc dữ liệu.
  3. Tuần 3: làm quen JOIN, GROUP BY, hàm tổng hợp.
  4. Tuần 4: học subquery, index, và thiết kế bảng cơ bản.
  5. 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.

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

OAuth 2.0 là gì? Hướng dẫn chi tiết protocol ủy quyền cho lập trình viên

OAuth 2.0 là gì? OAuth 2.0 là protocol chuẩn ngành cho delegated authorization — cơ chế cho phép ứng dụng bên thứ ba truy cập tài nguyên của người dùng…

Xem thêm

Rust là gì? Hướng dẫn học ngôn ngữ lập trình Rust

Rust là gì? Rust là ngôn ngữ lập trình đa mục đích chú trọng hiệu năng, an toàn kiểu dữ liệu, lập trình đồng thời và an toàn bộ nhớ….

Xem thêm

Học Go từ con số không: Lộ trình chi tiết cho người mới

Go là gì? Tại sao ngôn ngữ lập trình này lại hot? Go (Golang) là ngôn ngữ lập trình do Google phát triển, nổi bật với hiệu năng cao, cú…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất