Khái niệm CROSS JOIN có lẽ ít người biết và thực sự nó cũng rất ít được sử dụng. Chúng ta xem ví dụ sau:
Từ hình ảnh trên thì với mỗi phần tử của bảng A thì sẽ liên kết với tất cả các phần tử của bảng B. Vậy chúng ta có tổng cộng 2×3=6 bản ghi sẽ được hiển thị.
Cú pháp lệnh của CROSS JOIN
SELECT * FROM Table_A CROSS JOIN Table_B;
Hoặc
SELECT * FROM Table_A, Table_B;
Hoặc có thể sử dụng INNER JOIN như sau:
SELECT * FROM Table_A INNER JOIN Table_B ON TRUE;
Sử dụng CROSS JOIN
Chúng ta thử xem xét ví dụ sau:
Bảng groups với dữ liệu như sau:
Bảng users với dữ liệu như sau:
Giờ chúng ta sử dụng CROSS JOIN để liên kết dữ liệu giữa 2 bảng bằng câu SQL sau:
SELECT u.username, g.group_name FROM users as u CROSS JOIN groups as g ORDER BY u.username;
Kết quả:
Nguồn: vinasupport.com