Right Join là gì?

RIGHT JOIN, còn gọi là RIGHT OUTER JOIN,  dùng để lấy dữ liệu ra từ cả hai bảng, kết quả là tất cả các record ở bảng phải (bảng thứ hai), và những record đáp ứng được điều kiện JOIN của bảng trái (bảng thứ nhất). Nếu record nào không đáp ứng được điều kiện sẽ có kết quả trả về là NULL.
Hình minh họa:

Minh họa right join

Cú pháp:

SELECT Tên_Các_Cột
FROM Bảng_1
RIGHT JOIN Bảng_2
ON Bảng_1.Tên_Cột = Bảng_2.Tên_Cột;

Ví dụ 1: Sử dụng câu lệnh RIGHT JOIN để Join hai bảng Customers và Orders trong database NorthWind.

USE northwind; 

GO 

INSERT INTO Orders 
            (ShipAddress) 
VALUES     ( 'Test Right JOIN' ); 

-- Ví dụ 1: Sử dụng câu lệnh RIGHT JOIN để Join hai bảng Customers và Orders 
SELECT Customers.CustomerID, 
       Customers.ContactName, 
       Customers.Address, 
       Customers.Phone, 
       Orders.OrderID, 
       Orders.ShipAddress 
FROM   Customers 
       RIGHT JOIN Orders 
               ON Customers.CustomerID = Orders.CustomerID 
ORDER  BY Orders.OrderID DESC; 

kết quả câu lệnh Right Join

Trong câu lệnh truy vấn trên, ta Insert một record vào bảng Orders, kết quả là bảng Orders sinh ra một record mới có OrderId = 11078, ShipAddress = 'Test Right JOIN'. Và record này hoàn toàn không có CustomerID.

kết quả câu lệnh right join

Do đây là lệnh RIGHT JOIN kết quả trả về bao gồm tất cả record của bảng phải (Orders), và record nào đáp ứng được điều kiện của bảng trái (Customers).

Record có OrderID = 11078, tuy không đáp ứng được điều kiện JOIN là  Customers.CustomerID = Orders.CustomerID, tuy nhiên nó thuộc bảng phải (Orders) nên nó có trong kết quả của câu lệnh RIGHT JOIN. Bảng trái không có record tương ứng nên các cột kết quả trả về là NULL.

Tài liệu tham khảo: http://www.w3schools.com/sql/sql_join_right.as

Bạn có thể tham khảo cách cài đặt database northwind tại đây:
http://hocdai.com/sql-can-ban/cai-dat-sql/cai-dat-database-northwind

Các môn học khác

Khoa học về dinh dưỡng, giáo trình giảm cân cho mọi người.

Docker là công nghệ ảo hóa container phổ biến nhất hiện nay. Nó giúp bạn phát triển và deploy phần mềm một cách dễ dàng hơn.

Chương trình thường được xây dựng quanh dữ liệu và logic để xử lý chúng. Nói cách khác: Program = Cấu trúc dữ liệu + giải thuật. Do vậy đây là môn học bắt buộc dành cho các lập trình viên.