Hệ quản trị CSDL MySQL - RIGHT JOIN

Ghép bảng bằng mệnh đề RIGHT JOIN 

Lệnh Right Join trong SQL trả về tất cả các hàng từ bảng bên phải, ngay cả khi không có kết quả khớp nào trong bảng bên trái. Điều này có nghĩa là nếu mệnh đề ON không khớp với các bản ghi của bảng bên trái. Lệnh Left Join vẫn sẽ trả về một hàng trong kết quả, nhưng với NULL cho mỗi cột của bảng bên trái.


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

SELECT table1.column1, table2.column2...
FROM table1
RIGHT JOIN table2
ON table1.common_field = table2.common_field;

RIGHT JOIN trong SQL


Một số ví dụ

Chúng ta có một bảng khachhang (khách hàng) :

ID_khachhang NAME_khachhang
Kh001 Khach Hang 001
Kh002 Khach Hang 002
Kh003 Khach Hang 003
Kh004 Khach Hang 004
Kh005 Khach Hang 005
Kh006 Khach Hang 006
Kh007 Khach Hang 007
Kh008 Khach Hang 008
Kh009 Khach Hang 009

Và một bảng hoadon (hóa đơn) như sau:

ID_hoadon ID_khachhang DATE_hoadon
101 Kh005 2015-03-03
102 Kh008 2015-07-09
103 Kh003 2015-10-12
105 Kh004 2016-05-06
106 Kh008 2016-08-08

Ví dụ

Câu lệnh MySQL dưới đây sẽ trả về danh sách tất cả các hóa đơn và những khách hàng đã mua chúng.

SELECT hoadon.ID_hoadon, khachhang.ID_khachhang, khachhang.NAME_khachhang, hoadon.DATE_hoadon
FROM khachhang
RIGHT JOIN hoadon 
ON hoadon.ID_khachhang=khachhang.ID_khachhang
ORDER BY hoadon.ID_hoadon;

Sau khi thực thi, MySQL trả về một bảng kết quả như sau:

ID_hoadon ID_khachhang NAME_khachhang DATE_hoadon
101 Kh005 Khach Hang 005 2015-03-03
102 Kh008 Khach Hang 008 2015-07-09
103 Kh003 Khach Hang 003 2015-10-12
105 Kh004 Khach Hang 004 2016-05-06
106 Kh008 Khach Hang 008 2016-08-08