JOIN Trong SQL: Kết Hợp Dữ Liệu Từ Nhiều Bảng Một Cách Hiệu Quả
Chia sẻ
"Hiểu rõ INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN và CROSS JOIN. Khi nào dùng loại nào? Bài viết giải thích chi tiết kèm ví dụ thực tế."
Tại Sao Cần JOIN?
Trong cơ sở dữ liệu quan hệ, dữ liệu được chia thành nhiều bảng để tránh trùng lặp (normalization). JOIN cho phép kết hợp các bảng lại với nhau dựa trên cột chung, giúp bạn lấy được bức tranh toàn cảnh từ dữ liệu phân tán.
INNER JOIN — Chỉ Lấy Dữ Liệu Khớp
SELECT e.first_name, e.salary, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id;INNER JOIN chỉ trả về các dòng có giá trị khớp ở cả hai bảng. Nếu nhân viên chưa được gán phòng ban, hoặc phòng ban không có nhân viên, dòng đó sẽ bị loại.
LEFT JOIN — Giữ Tất Cả Bảng Bên Trái
-- Lấy TẤT CẢ nhân viên, kể cả chưa có phòng ban
SELECT e.first_name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;RIGHT JOIN Và FULL OUTER JOIN
-- RIGHT JOIN: giữ tất cả phòng ban
SELECT e.first_name, d.department_name
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.id;
-- FULL OUTER JOIN: giữ tất cả cả hai bên
SELECT e.first_name, d.department_name
FROM employees e
FULL OUTER JOIN departments d ON e.department_id = d.id;Multi-Table JOIN
SELECT
e.first_name,
d.department_name,
p.project_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id
INNER JOIN project_assignments pa ON e.id = pa.employee_id
INNER JOIN projects p ON pa.project_id = p.id;Mẹo Hay
Luôn dùng alias (e, d, p) để code ngắn gọn
LEFT JOIN + WHERE IS NULL: tìm dòng không khớp
Tránh SELECT * khi JOIN nhiều bảng — chỉ lấy cột cần thiết
Kết Luận
JOIN là kỹ năng quan trọng thứ hai sau SELECT. Hãy thực hành với các bộ dữ liệu có quan hệ để hiểu sâu về từng loại JOIN và khi nào nên dùng.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
Bài viết liên quan
Khám phá thêm các bài viết cùng chủ đề


