Inner join là hàm join nhưng chỉ giữ lại những phần giống nhau giữa 2 bảng được join, những phần không tương đồng nhau sẽ được bỏ đi.
Table of Contents
Cú pháp
SELECT bang_1.ten_cot_1,....
FROM bang_1
INNER JOIN bang_2
ON bang_1.cot_de_join_1 = bang_2.cot_de_join_2;
Trong câu ví dụ tổng quát trên có 2 bảng, chúng ta sẽ join 2 bảng này trên các “cột để join”. Như vậy
Ví dụ với 2 bảng mẫu khác
ORDERS
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
Bảng này bao gồm các đơn hàng đã được đặt.
CUSTOMERS
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Bảng này bao gồm các khách hàng hiện tại đang có trong cơ sở dữ liệu.
Query để join 2 bảng
Với 2 bảng trên để thực hiện inner join chúng ta sẽ có query để inner join 2 bảng như bên dưới.
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
Trong đó hàm có đầy đủ tên của từng bảng, 2 bảng này được giao với nhau bằng cột CustomerID. Khi hai bảng này có những dòng có cùngCustomerID, chúng sẽ được ghép lại với nhau và trả về kết quả, phần còn lại sẽ được bỏ đi giống như đồ thị bên dưới.
Kết bài
Vậy là mình đã hướng dẫn các bạn cách sử dụng hàm Inner Join trong SQL thành công, hi vọng các bạn sẽ thích bài viết này.