SQL Inner Join

Giới thiệu về SQL Inner Join

SQL (Structured Query Language) là ngôn ngữ chuẩn được sử dụng để quản lý và thao tác với cơ sở dữ liệu. Trong SQL, việc kết hợp các bảng là một phần quan trọng để truy xuất dữ liệu một cách hiệu quả. Trong số các loại kết hợp có sẵn, Inner Join là một trong những phương pháp phổ biến nhất, cho phép chúng ta lấy dữ liệu từ hai hoặc nhiều bảng dựa trên một điều kiện nhất định.

Định nghĩa Inner Join

Inner Join là một phép toán dùng để kết hợp các bản ghi từ hai hoặc nhiều bảng trong cơ sở dữ liệu dựa trên một điều kiện phù hợp giữa các bảng. Khi thực hiện Inner Join, chỉ những bản ghi thỏa mãn điều kiện mới được trả về, còn những bản ghi không thỏa mãn sẽ bị loại bỏ.

Cú pháp của Inner Join

Cú pháp cơ bản của câu lệnh Inner Join trong SQL như sau:

SELECT column1, column2, ...
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

Trong đó:

  • SELECT: Chỉ định các cột cần chọn từ phép truy vấn.
  • FROM: Xác định bảng đầu tiên cần kết hợp.
  • INNER JOIN: Chỉ định bảng thứ hai cần kết hợp với bảng đầu tiên.
  • ON: Điều kiện để kết hợp các bảng, thường là khóa chính và khóa ngoại.

Ví dụ về Inner Join

Giả sử chúng ta có hai bảng: CustomersOrders.

Bảng Customers:
+-----------+-------------+
| CustomerID| CustomerName|
+-----------+-------------+
|      1    |    John     |
|      2    |    Jane     |
|      3    |    Doe      |
+-----------+-------------+

Bảng Orders:
+---------+-----------+---------+
| OrderID | CustomerID| Amount  |
+---------+-----------+---------+
|    1    |     1     |  100    |
|    2    |     1     |  150    |
|    3    |     2     |  200    |
+---------+-----------+---------+

Chúng ta muốn lấy danh sách các khách hàng cùng với các đơn hàng của họ. Câu lệnh Inner Join sẽ như sau:

SELECT Customers.CustomerName, Orders.Amount
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

Kết quả sẽ là:

+-------------+---------+
| CustomerName| Amount  |
+-------------+---------+
|    John     |  100    |
|    John     |  150    |
|    Jane     |  200    |
+-------------+---------+

Như bạn có thể thấy, bảng kết quả chỉ hiển thị những khách hàng đã đặt hàng. Khách hàng "Doe" không nằm trong kết quả vì không có đơn hàng nào liên kết với họ.

Kết luận

Inner Join là một công cụ mạnh mẽ trong SQL cho phép bạn kết hợp dữ liệu từ nhiều bảng một cách linh hoạt. Việc hiểu rõ về cách sử dụng Inner Join sẽ giúp bạn tối ưu hóa các truy vấn và khai thác dữ liệu hiệu quả hơn. Hy vọng rằng bài viết này đã cung cấp cho bạn cái nhìn tổng quan về Inner Join cùng với ví dụ cụ thể để bạn áp dụng trong thực tế.