Nội dung lần này chúng ta sẽ cùng tìm hiểu về SELF JOIN, ý nghĩa, cú pháp và ví dụ trong bài sẽ giúp các bạn hiểu và có thể ứng dụng trong thực tiễn.
1. Ý nghĩa của SELF JOIN
SELF JOIN là một cách ghép dữ liệu bình thường nhưng thay vì ghép với bảng khác, nó sẽ tự ghép với chính mình.
- Cú pháp:
SELECT tên một hoặc nhiều cột
FROM bảng1 T1, bảng2 T2
WHERE điều kiện;
Trong đó, T1 và T2 là các bí danh khác dành cho cùng một bảng, để dễ hình dung hãy xem ví dụ dưới đây.
2. Ví dụ SELF JOIN
Để thực hiện ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:
Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio
Câu lệnh SQL dưới đây sẽ lấy ra các khách hàng ở cùng thành phố:
SELECT A.CompanyName AS CustomerName1, B.CompanyName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID AND A.City = B.City
ORDER BY A.City;
Kết quả là chúng ta thu được một bảng có ba cột đều lấy từ bảng Customers. Trong đó, gọi bảng Customers lần lượt là A và B (tương ứng T1, T2 trong cú pháp). Gọi CompanyName của bảng Customer A là CustomerName1 và CompanyName của bảng Customer B là CustomerName2. Điều kiện là nếu CustomerID từ bảng A khác CustomerID từ bảng B và City của hai bảng trùng khớp thì lấy.
Lưu ý: Trong câu lệnh SQL trên, nếu không có điều kiện CustomerID khác nhau (A.CustomerID <> B.CustomerID) sẽ phát sinh trường hợp một người ở cùng hai cột CustomerName. Nguyên nhân là chúng ta đang lấy dữ liệu từ cùng một bảng, hãy xem ảnh dưới đây.
Có thể thấy rằng, so với các loại JOIN khác trong SQL thì SELF JOIN cần có điều kiện để lấy được dữ liệu chính xác thay vì một từ khóa. Để không bỏ lỡ những kiến thức hữu ích về SQL nói riêng và dữ liệu nói chung, đừng quên đón đọc các bài viết mới nhất tại website BAC’s Blog.
Nguồn tham khảo:
https://www.w3schools.com/
Nhu cầu đào tạo doanh nghiệp
BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
Các bài viết liên quan SQL:
Các bài viết liên quan Power BI:
- Power BI là gì?
- Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
- Kết hợp dữ liệu trong Power BI Desktop
- Hướng dẫn kết nối dữ liệu trong Power BI Desktop
- Hướng dẫn tải & cài đặt Power BI trên máy tính
- Khóa học Phân tích và trực quan hóa dữ liệu với Power BI
Các bài viết liên quan:
- TABLEAU – Giải pháp BUSINESS INTELLIGENCE (BI) – click vào đây
- Hướng dẫn cài đặt và Sử dụng TABLEAU – click vào đây
- Tính năng mới trên tableau – verion 2019.1 – click vào đây
BAC – Biên soạn và tổng hợp nội dung