Các khái niệm SQL nâng cao
I. Tổng quan về SQL nâng cao
Ngoài các câu lệnh cơ bản như SELECT, INSERT, UPDATE, DELETE, SQL nâng cao giúp thực hiện những truy vấn phức tạp, làm việc với nhiều bảng dữ liệu, tối ưu hóa hiệu suất, và phân tích sâu dữ liệu. Đây là kiến thức quan trọng giúp Business Analyst (BA) khai thác dữ liệu hiệu quả để đưa ra các báo cáo, phân tích nghiệp vụ sâu.
II. Các khái niệm SQL nâng cao quan trọng
1. JOIN – Kết hợp dữ liệu từ nhiều bảng
Khái niệm:
Kết hợp các bảng để lấy dữ liệu liên quan.
Các loại JOIN:
Loại JOIN
Ý nghĩa
INNER JOIN
Chỉ lấy các bản ghi khớp giữa 2 bảng.
LEFT JOIN
Lấy toàn bộ bản ghi từ bảng bên trái + khớp từ bảng phải.
RIGHT JOIN
Lấy toàn bộ bản ghi từ bảng bên phải + khớp từ bảng trái.
FULL OUTER JOIN
Lấy tất cả bản ghi từ cả 2 bảng.
Ví dụ INNER JOIN:
2. Subquery (Truy vấn lồng nhau)
Khái niệm:
Truy vấn bên trong một truy vấn khác để lọc hoặc tính toán dữ liệu.
Ví dụ:
👉 Lấy đơn hàng có giá trị lớn hơn trung bình.
3. CTE (Common Table Expression) – Biểu thức bảng chung
Khái niệm:
Tạm lưu trữ một bảng ảo để dễ quản lý các truy vấn phức tạp.
Cú pháp:
4. Window Function (Hàm cửa sổ)
Khái niệm:
Hàm thực hiện tính toán trên tập con dữ liệu mà không gom nhóm như GROUP BY.
Ví dụ:
👉 Xếp hạng khách hàng theo giá trị đơn hàng.
Một số hàm phổ biến:
Hàm
Ý nghĩa
ROW_NUMBER()
Đánh số thứ tự bản ghi.
RANK()
Xếp hạng có thứ tự, cho phép đồng hạng.
DENSE_RANK()
Xếp hạng liên tục, không bỏ số.
SUM() OVER()
Tổng cộng dồn theo nhóm dữ liệu.
5. Index và tối ưu hóa truy vấn
Khái niệm:
Index là chỉ mục giúp truy vấn dữ liệu nhanh hơn, đặc biệt với bảng lớn.
Lợi ích:
Giảm thời gian truy vấn.
Cải thiện hiệu suất hệ thống.
Ví dụ tạo Index:
6. Stored Procedure và Function (Thủ tục và hàm)
Khái niệm:
Stored Procedure: Tập hợp các câu lệnh SQL thực thi như 1 chương trình con.
Function: Hàm thực hiện tính toán và trả về giá trị.
Ví dụ Stored Procedure:
7. Transaction – Giao dịch
Khái niệm:
Nhóm nhiều lệnh SQL thành một đơn vị công việc để đảm bảo dữ liệu nhất quán.
Ví dụ:
III. Ứng dụng SQL nâng cao trong công việc Business Analyst
Tình huống thực tế
Công cụ SQL sử dụng
Phân tích doanh thu theo từng khách hàng, tháng
JOIN, CTE, Window Function
Tìm đơn hàng có giá trị cao nhất mỗi tháng
Subquery, Window Function (RANK, ROW_NUMBER)
So sánh doanh thu giữa các vùng
GROUP BY, JOIN, CTE
Tối ưu hóa báo cáo doanh thu khi dữ liệu lớn
Index, tối ưu hóa JOIN
Thực hiện batch update dữ liệu nhiều bảng liên quan
Transaction, Stored Procedure
✅ IV. Kết luận
SQL nâng cao giúp Business Analyst khai thác dữ liệu sâu, tạo các báo cáo phức tạp và hỗ trợ các quyết định chiến lược.
Việc thành thạo JOIN, Subquery, CTE, Window Function, Transaction, Index giúp BA làm việc hiệu quả với đội ngũ Developer, Data Engineer, Data Analyst.
Đây là kỹ năng cần thiết nếu BA làm việc trong các dự án liên quan đến phân tích dữ liệu, ERP, CRM, BI systems.
Last updated