如何编写SQL查询实现两张表的笛卡尔积生成指定结果?
实现两张表的全组合查询(笛卡尔积)
你需要的是笛卡尔积查询,也就是让两张表的所有行进行无关联的组合匹配,SQL里有两种等价写法可以实现:
- 显式使用
CROSS JOIN关键字:
SELECT column1, column2 FROM table1 CROSS JOIN table2;
- 隐式交叉连接(直接用逗号分隔两张表):
SELECT column1, column2 FROM table1, table2;
两种写法的效果完全一致,都会返回你需要的结果:每个column1的值(A、B)分别对应所有column2的值(1、2、3、4),最终生成8行的双列结果集。
内容的提问来源于stack exchange,提问作者Topik
相关产品推荐
相关产品推荐

