Trong MySQL, SELECT * FROM bang1, bang2 tương đương SELECT * FROM bang1 CROSS JOIN bang2, tạo tích Descartes (mỗi hàng bang1 ghép với mọi hàng bang2).
Ví dụ minh họa
Tạo 2 bảng:
mysql> CREATE TABLE DemoTable1882 (Id INT); mysql> INSERT INTO DemoTable1882 VALUES(10),(20),(30); mysql> CREATE TABLE DemoTable1883 (Id INT); mysql> INSERT INTO DemoTable1883 VALUES(100),(101),(102);
Cú pháp dấu phẩy:
mysql> SELECT * FROM DemoTable1882, DemoTable1883;
Cú pháp CROSS JOIN (tương đương):
mysql> SELECT * FROM DemoTable1882 CROSS JOIN DemoTable1883;
Kết quả (3x3=9 hàng):
+------+------+ | Id | Id | +------+------+ | 10 | 100 | | 20 | 100 | | 30 | 100 | | 10 | 101 | | 20 | 101 | | 30 | 101 | | 10 | 102 | | 20 | 102 | | 30 | 102 | +------+------+
Cảnh báo: CROSS JOIN tạo m*n hàng, rất nguy hiểm với bảng lớn. Luôn dùng INNER JOIN ... ON khi có điều kiện liên kết.