18/08/2018, 11:03
Ghép bảng bằng mệnh đề FULL JOIN trong MySQL
Từ khóa FULL JOIN trả về tất cả các hàng được kết hợp từ bảng bên trái (table1) và bảng bên phải (table2). 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 ...
Từ khóa FULL JOIN trả về tất cả các hàng được kết hợp từ bảng bên trái (table1) và bảng bên phải (table2).
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 |
(Bạn có thể bấm vào đây để download câu lệnh tạo 2 bảng như trên)
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 |