如何在KsqlDB中执行cross join?附表连接示例需求
在KsqlDB中实现交叉连接(Cross Join)
KsqlDB本身没有提供直接的CROSS JOIN关键字,但可以通过带恒真条件的INNER JOIN模拟交叉连接效果,本质是让两张表的每一行都完成匹配,生成笛卡尔积。
针对你给出的表结构,具体SQL语句如下:
SELECT c.data_id AS country_data_id, c.country, p.data_id AS product_data_id, p.product FROM Country c INNER JOIN Product p ON TRUE; -- 恒真条件触发笛卡尔积,等同于交叉连接
结果说明
执行这条语句后,会生成你期望的Country_Product表结果:
| country_data_id | country | product_data_id | product |
|---|---|---|---|
| 101 | Malaysia | 301 | pen |
| 101 | Malaysia | 302 | book |
| 102 | Singapore | 301 | pen |
| 102 | Singapore | 302 | book |
注意:如果两张表数据量较大,交叉连接会生成海量数据行,可能影响性能,建议仅在数据量可控的场景下使用。
内容的提问来源于stack exchange,提问作者user3727340
相关产品推荐
相关产品推荐

