Nối dữ liệu trong bảng sử dụng SQL trong Excel – Tinh Tinh

Các bạn đã biết việc kết hợp hai bảng tính lại với nhau dựa vào cột nào đó cực kỳ quan trọng, vậy làm sao để tổng hợp chúng lại với nhau theo điều kiện lọc đó, hãy theo dõi bài viết sau đây để biết thêm những điều thú vị từ Excel và SQL tại HocExcel Online nhé.

YÊU CẦU

Để công việc của các bạn trở nên đơn giản hơn mà không cần viết code trên vba các bạn hãy tải về và cài đặt Addins-HocExcelOnline tại đây nhé

GIỚI THIỆU VỀ CÂU LỆNH JOIN TRONG SQL

Ta có bảng dữ liệu nhân sự sau.

 

TỪ KHÓA “INNER JOIN”

Ý NGHĨA

Từ khóa “INNER JOIN” trả ra tất cả các bản ghi có giá trị phù hợp.

Nghĩa là trong bảng 1 và bảng 2 phải có chung một điểm ở ví dụ trên là [Mã nhân viên] sẽ là điểm trung giữa hai bảng dữ liệu sẽ loại bỏ đi các giá trị không trùng nhau giữa cột [Mã nhân viên].

CÚ PHÁP

 SELECT bang1.[cot1], bang2.[cot1]… FROM bang1 INNER JOIN bang2 On bang1.[cotloc] = bang2.[cotloc]

TỪ KHÓA “LEFT JOIN”

Ý NGHĨA

Từ khóa “LEFT JOIN” Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi phù hợp từ bảng bên phải bảng ghi bên phải không có dữ liệu sẽ trả ra giá trị rỗng.

Lấy toàn bộ dữ liệu từ bên trái của bang1 và các bảng ghi bên phải bảng 2 ghi phù hợp bên phải nếu bảng2 không có dữ liệu trả ra giá trị rỗng.

CÚ PHÁP

SELECT bang1.[cot1], bang2.[cot1]… FROM bang1 LEFT JOIN bang2 On bang1.[cotloc] = bang2.[cotloc]

TỪ KHÓA “RIGHT  JOIN”

Ý NGHĨA

Từ khóa “RIGHT JOIN” Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi phù hợp từ bảng bên trái bảng ghi bên trái không có sẽ trả ra giá trị rỗng.

Ngược với LEFT JOIN từ khóa RIGHT JOIN sẽ lấy tất [Mã nhân viên] ở bảng 2 và các bảng ghi phù hợp bảng 1 nếu bảng 1 không có trả ra giá trị rỗng.

CÚ PHÁP

SELECT bang1.[cot1], bang2.[cot1]… FROM bang1 RIGHT JOIN bang2 On bang1.[cotloc] = bang2.[cotloc]

KẾT HỢP TỪ KHÓA TẠO RA FULL JOIN

Kết hợp giữa hai bảng lấy ra tất cả hai bảng phải làm sao bây giờ khi Excel lại không hỗ trợ FULL JOIN ta phải làm sao bây giờ đừng lo lắng nhé, ta sẽ kết hợp “LEFT JOIN” với “RIGHT JOIN” và từ khóa “UNION” là ra thôi mà

Ý NGHĨA

Lấy ra toàn bộ số bản ghi giữa hai bảng

ở đây ta muốn lấy tất cả các bản ghi ở hai bảng nên sẽ sử dụng kết hợp hai từ khóa LEFT JOIN và RIGHT để tạo ra kết quả do excel không hỗ trợ FULL JOIN.

CÚ PHÁP

SELECT bang1.[cot1], bang2.[cot1]… FROM bang1 LEFT JOIN bang2 On bang1.[cotloc] = bang2.[cotloc] UNION SELECT bang1.[cot1], bang2.[cot1]… FROM bang1 RIGHT JOIN bang2 On bang1.[cotloc] = bang2.[cotloc]

Lấy  ra tất cả các bản ghi có giá trị phù hợp “INNER JOIN”

CÁC CÂU TRUY VẤN SỬ DỤNG

Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi phù hợp từ bảng bên phải bảng ghi bên phải không có dữ liệu sẽ trả ra giá trị rỗng từ khóa “LEFT JOIN”.

Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi phù hợp từ bảng bên trái bảng ghi bên trái không có sẽ trả ra giá trị rỗng từ khóa “RIGHT JOIN”

Lấy ra toàn bộ dữ liệu giữa hai bảng tính.

Để hiểu rõ hơn về SQL các bạn có thể tham khảo những khóa học của Hoc Excel Online để tìm hiểu kỹ hơn về sự linh động này.

KẾT LUẬN

Qua bài viết trên HocExcelOnline hy vọng các bạn vận dụng các loại “JOIN” một cách hiệu quả nhất để tạo ra những bảng báo cáo nhanh chóng và chính xác nhất

nếu thấy hay hãy ủng hộ, chia sẻ bài viết để nhiều người biết đến và HocExcel Online có động lực để phát triển bài viết tốt hơn.