PostgreSQL无关联关系的两张表如何连接生成笛卡尔积
问题解答
完全可以实现,你要的是SQL标准里的交叉连接(CROSS JOIN,也叫笛卡尔积连接),这类连接不需要设置关联条件,会直接返回两张表所有行的两两组合结果,完全匹配你的期望输出。
两种可在PostgreSQL中运行的实现写法
- 标准SQL通用写法:
SELECT a.column_a, b.column_b FROM 表A a CROSS JOIN 表B b;
- PostgreSQL支持的简化写法:
SELECT a.column_a, b.column_b FROM 表A a, 表B b;
两种写法最终返回的结果完全一致,你的示例中表A有3行、表B有3行,执行后会返回3*3=9行数据,和你给出的期望输出完全匹配。
内容的提问来源于stack exchange,提问作者SYAHRIL ASIDIQ FIRDAUS
相关产品推荐
相关产品推荐

