两个 SELECT 语句之间的 MySQL 笛卡尔积

标签 mysql select join

我想在两个 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/

相关文章:

mysql - 分组依据不返回 "0"

php - 无法在 MySQL 数据库中添加外键

sql - 如何用SQL比较两行的值?

MySql 自连接子内部连接返回交叉连接

sql - 对多个表进行联接和逆透视

mysql - 基于所有列连接 MySQL 表是否有更简单的语法?

php - 使用 Slim Framework 创建 OR 功能

php - 转义用户代理 : $mysqli->real_escape_string does not work

angular - 在 Mat-Select 中隐藏选定的选项

mysql语句(SELECT)基于现在的日期