Hệ quản trị CSDL MySQL - FULL JOIN
Full Join trong MySQL
Lệnh Full Join trong SQL là sự kết hợp các kết quả của cả hai phép nối Left Join và Right Join.
Kết quả join sẽ chứa tất cả các bản ghi từ cả hai bảng và điền vào NULL cho các kết quả bị thiếu ở hai bên.
Cú pháp
SELECT *
FROM table1
FULL JOIN table2;
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 |
Và một bảng hoadon (hóa đơn) như sau:
ID_hoadon | ID_khachhang | DATE_hoadon |
---|---|---|
101 | Kh005 | 2015-03-03 |
102 | Kh002 | 2015-07-09 |
103 | Kh003 | 2015-10-12 |
Ví dụ
Câu lệnh MySQL dưới đây sẽ trả về một bảng tất cả các hàng được kết hợp từ bảng hoadon & khachhang.
SELECT *
FROM hoadon
FULL JOIN khachhang
ORDER BY ID_hoadon, khachhang.ID_khachhang;
Sau khi thực thi, MySQL trả về một bảng kết quả như sau:
ID_hoadon | ID_khachhang | DATE_hoadon | ID_khachhang | NAME_khachhang |
---|---|---|---|---|
101 | Khach Hang 005 | 2015-03-03 | Kh001 | Khach Hang 001 |
101 | Khach Hang 005 | 2015-03-03 | Kh002 | Khach Hang 002 |
101 | Khach Hang 005 | 2015-03-03 | Kh003 | Khach Hang 003 |
101 | Khach Hang 005 | 2015-03-03 | Kh004 | Khach Hang 004 |
101 | Khach Hang 005 | 2015-03-03 | Kh005 | Khach Hang 005 |
102 | Khach Hang 002 | 2015-07-09 | Kh001 | Khach Hang 001 |
102 | Khach Hang 002 | 2015-07-09 | Kh002 | Khach Hang 002 |
102 | Khach Hang 002 | 2015-07-09 | Kh003 | Khach Hang 003 |
102 | Khach Hang 002 | 2015-07-09 | Kh004 | Khach Hang 004 |
102 | Khach Hang 002 | 2015-07-09 | Kh005 | Khach Hang 005 |
103 | Khach Hang 003 | 2015-10-12 | Kh001 | Khach Hang 001 |
103 | Khach Hang 003 | 2015-10-12 | Kh002 | Khach Hang 002 |
103 | Khach Hang 003 | 2015-10-12 | Kh003 | Khach Hang 003 |
103 | Khach Hang 003 | 2015-10-12 | Kh004 | Khach Hang 004 |
103 | Khach Hang 003 | 2015-10-12 | Kh005 | Khach Hang 005 |