Skip to main content

Câu Lệnh SELECT Trong SQL: Hướng Dẫn Chi Tiết

· 3 min read

1. Giới Thiệu Về Câu Lệnh SELECT

Câu lệnh SELECT là một trong những câu lệnh quan trọng nhất trong SQL, giúp truy vấn và lấy dữ liệu từ cơ sở dữ liệu. Nó là nền tảng của mọi thao tác truy vấn, cho phép người dùng chọn các cột cụ thể, lọc dữ liệu theo điều kiện, sắp xếp và nhóm dữ liệu.

2. Cấu Trúc Cơ Bản Của SELECT

SELECT column1, column2, ...
FROM table_name;
  • SELECT: Chỉ định các cột cần lấy dữ liệu.
  • FROM: Xác định bảng chứa dữ liệu.

Ví dụ:

SELECT first_name, last_name FROM employees;

Câu lệnh này lấy dữ liệu từ hai cột first_namelast_name trong bảng employees.

3. Sử Dụng SELECT Với DISTINCT

DISTINCT giúp loại bỏ các giá trị trùng lặp trong kết quả.

SELECT DISTINCT country FROM customers;

Câu lệnh trên trả về danh sách các quốc gia duy nhất trong bảng customers.

4. Lọc Dữ Liệu Với WHERE

Mệnh đề WHERE giúp lọc dữ liệu theo điều kiện nhất định.

SELECT * FROM employees WHERE department = 'IT';

Lệnh này chọn tất cả nhân viên thuộc phòng ban IT.

Các toán tử phổ biến trong WHERE:

  • =: Bằng
  • <> hoặc !=: Khác
  • > hoặc <: Lớn hơn hoặc nhỏ hơn
  • LIKE: Tìm kiếm mẫu dữ liệu
  • IN: Tìm giá trị trong danh sách
  • BETWEEN: Lọc trong khoảng giá trị

Ví dụ:

SELECT * FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';

5. Sắp Xếp Dữ Liệu Với ORDER BY

Mệnh đề ORDER BY giúp sắp xếp kết quả theo một hoặc nhiều cột.

SELECT first_name, last_name FROM employees ORDER BY last_name ASC;
  • ASC: Sắp xếp tăng dần (mặc định)
  • DESC: Sắp xếp giảm dần

6. Giới Hạn Kết Quả Với LIMIT (MySQL) hoặc TOP (SQL Server)

Khi cần lấy một số lượng dòng giới hạn, ta có thể sử dụng:

  • LIMIT trong MySQL, PostgreSQL:
SELECT * FROM employees LIMIT 10;
  • TOP trong SQL Server:
SELECT TOP 10 * FROM employees;

7. Nhóm Dữ Liệu Với GROUP BY

Mệnh đề GROUP BY giúp nhóm dữ liệu theo một hoặc nhiều cột.

SELECT department, COUNT(*) AS total_employees FROM employees GROUP BY department;

Câu lệnh này đếm số lượng nhân viên trong từng phòng ban.

8. Lọc Dữ Liệu Sau Khi Nhóm Với HAVING

Khác với WHERE, HAVING dùng để lọc dữ liệu sau khi đã nhóm.

SELECT department, COUNT(*) AS total_employees FROM employees
GROUP BY department HAVING COUNT(*) > 10;

Lệnh trên chỉ hiển thị các phòng ban có hơn 10 nhân viên.

9. Kết Hợp Dữ Liệu Từ Nhiều Bảng Với JOIN

Khi cần lấy dữ liệu từ nhiều bảng liên quan, ta sử dụng JOIN.

SELECT employees.first_name, employees.last_name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id;

Câu lệnh này kết hợp bảng employeesdepartments để lấy tên nhân viên và tên phòng ban của họ.

10. Kết Luận

Câu lệnh SELECT là công cụ mạnh mẽ để truy vấn dữ liệu trong SQL. Nắm vững cách sử dụng SELECT cùng các mệnh đề như WHERE, ORDER BY, GROUP BY, HAVING, và JOIN giúp bạn thao tác dữ liệu hiệu quả hơn. Hãy thực hành nhiều để thành thạo các kỹ thuật này!