Cú pháp SQL JOIN

SQL JOIN là một phép toán được sử dụng để kết hợp dữ liệu từ hai hoặc nhiều bảng dựa trên các cột chung. JOIN giúp bạn truy xuất dữ liệu từ nhiều bảng một cách hiệu quả và dễ dàng.

JOIN

Các loại JOIN:

  1. INNER JOIN (hay JOIN):
  • Trả về tất cả các bản ghi có giá trị khớp trong cả hai bảng.
  • Ví dụ: Tìm kiếm tất cả khách hàng đã đặt hàng.
  1. LEFT JOIN (hay LEFT OUTER JOIN):
  • Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải.
  • Ví dụ: Tìm kiếm tất cả khách hàng, bao gồm cả những khách hàng chưa đặt hàng.
  1. RIGHT JOIN (hay RIGHT OUTER JOIN):
  • Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi khớp từ bảng bên trái.
  • Ví dụ: Tìm kiếm tất cả các sản phẩm đã được bán, bao gồm cả những sản phẩm chưa được bán.
  1. FULL JOIN (hay OUTER JOIN):
  • Trả về tất cả các bản ghi từ cả hai bảng, bao gồm cả những bản ghi không khớp.
  • Ví dụ: Tìm kiếm tất cả khách hàng và sản phẩm, bao gồm cả những khách hàng chưa đặt hàng và những sản phẩm chưa được bán.
  1. SELF JOIN:
  • Là phép toán thực hiện join với chính nó, có sử dụng Alias để thực hiện đổi tên bảng như là join giữa hai bảng khác nhau.

 Ví dụ về JOIN:

-- INNER JOIN
SELECT *
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

-- LEFT JOIN
SELECT *
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

-- RIGHT JOIN
SELECT *
FROM Customers
RIGHT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

-- FULL JOIN
SELECT *
FROM Customers
FULL JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

-- SELF JOIN
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;

Sự khác nhau giữa các loại JOIN:

join phan biet

(INNER) JOIN: Trả về các bản ghi có giá trị trùng khớp trong cả hai bảng

LEFT (OUTER) JOIN: Trả về tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải

RIGHT (OUTER) JOIN: Trả về tất cả các bản ghi từ bảng bên phải và các bản ghi khớp từ bảng bên trái

FULL (OUTER) JOIN: Trả về tất cả các bản ghi khi có sự trùng khớp ở bảng bên trái hoặc bên phải (nếu có giá trị 2 bảng khớp nhau => lấy tất cả giá trị của 2 bảng hiển thị ra)

SELF JOIN: Là phép join chính nó thông thường

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận