Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng mệnh đề RIGHT JOIN
trong SQL Server để truy vấn dữ liệu từ hai bảng.
RIGHT JOIN
là một mệnh đề đảo ngược của mệnh đề LEFT JOIN
mà chúng tôi đã trình bày ở hướng dẫn trước. Nếu bạn bỏ lỡ thì có thể xem ở đây:
Mệnh đề RIGHT JOIN
kết hợp dữ liệu từ hai hoặc nhiều bảng. Mệnh đề RIGHT JOIN
bắt đầu chọn dữ liệu từ bảng bên phải và khớp với các bản ghi từ bảng bên trái.
Mệnh đề RIGHT JOIN
trả về một tập kết quả bao gồm tất cả các bản ghi trong bảng bên phải, cho dù chúng có hay không các bản ghi khớp từ bảng bên trái.
Nếu một bản ghi trong bảng bên phải không có bất kỳ bản ghi khớp nào từ bảng bên trái, thì cột của bảng bên trái trong tập kết quả sẽ có giá trị NULL
.
Sau đây minh họa cú pháp của mệnh đề RIGHT JOIN
trong SQL Server:
SELECT
select_list
FROM
T1
RIGHT JOIN T2 ON join_predicate;
Trong cú pháp này, T1 là bảng bên trái và T2 là bảng bên phải.
Lưu ý:RIGHT JOIN
vàRIGHT OUTER JOIN
là như nhau. Từ khóaOUTER
là tùy chọn.
Và biểu đồ Venn minh họa RIGHT JOIN
của hai tập kết quả:
Xem các bảng products
và order_items
sau đây:
Câu lệnh sau trả về tất cả order_id
từ bảng sales.order_items
và tên sản phẩm từ bảng production.products
:
SELECT
product_name,
order_id
FROM
sales.order_items o
RIGHT JOIN production.products p ON o.product_id = p.product_id
ORDER BY
order_id;
Đây là kết quả:
Truy vấn trả về tất cả các bản ghi từ bảng production.products
(bảng bên phải) và các bản ghi từ bảng sales.order_items
(bảng bên trái). Nếu một sản phẩm chưa được bán lần nào (không có doanh số), cột order_id
sẽ có giá trị rỗng.
Để có được các sản phẩm chưa được bán lần nào, bạn thêm một mệnh đề WHERE
vào truy vấn trên để lọc ra các sản phẩm có doanh số:
SELECT
product_name,
order_id
FROM
sales.order_items o
RIGHT JOIN production.products p ON o.product_id = p.product_id
WHERE
order_id IS NULL
ORDER BY
product_name;
Đây là kết quả:
Và biểu đồ Venn minh họa kết quả của RIGHT JOIN
truy vấn các bản ghi chỉ tồn tại trong bảng bên phải:
Trong hướng dẫn này, bạn đã học cách sử dụng mệnh đề RIGHT JOIN
trong SQL Server để truy vấn dữ liệu từ hai bảng.
Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.
Trong hướng dẫn này, bạn sẽ tìm hiểu về GUID trong SQL Server và cách sử dụng hàm NEWID() để tạo giá trị GUID.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATETIMEOFFSET trong SQL Server để thao tác datetime với múi giờ.
Trong hướng dẫn này, bạn sẽ học cách lưu trữ thời gian trong ngày trong cơ sở dữ liệu bằng cách sử dụng kiểu dữ liệu TIME trong SQL Server.
Trong hướng dẫn này, bạn sẽ học cách sử dụng kiểu dữ liệu DATE trong SQL Server để lưu trữ dữ liệu ngày tháng trong một bảng.