我想在两个 SELECT 语句之间执行笛卡尔积作为
SELECT 1, 2 INNER JOIN SELECT 3, 4 ;
我希望结果是 (1,2) 与 (3,4) 的每个组合,例如:
1 3
2 3
1 4
2 4
最佳答案
如果您指定的表没有任何 JOIN ON
子句或 WHERE
子句中的等式/条件,您将获得您正在寻找的 catesian 产品。
SELECT table1.field1, table2.field2
FROM table1, table2
会给你你想要的。更明确地显示它...
SELECT * FROM table1;
+--------+
| field1 |
+--------+
| 1 |
| 2 |
+--------+
SELECT * FROM table2;
+--------+
| field2 |
+--------+
| 3 |
| 4 |
+--------+
SELECT table1.field1, table2.field2 FROM table1, table2;
+--------+--------+
| field1 | field2 |
+--------+--------+
| 1 | 3 |
| 2 | 3 |
| 1 | 4 |
| 2 | 4 |
+--------+--------+
关于两个 SELECT 语句之间的 MySQL 笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4481396/