SQL表连接问题:空值填充与全量匹配结果的实现方案
问题二:实现表的全量匹配(笛卡尔积)
当Table1有多行数据时:
Table 1
zipCode Brand 11111 Toyota 22222 BMW 33333 Honda
需要让Table1的每一行都和Table2的所有Dealers记录匹配,得到全量组合结果。
解决方案:使用交叉连接(CROSS JOIN)
交叉连接会返回两个表的笛卡尔积,也就是左表每一行和右表每一行都组合一次,不需要指定连接条件:
SELECT t1.zipCode, t1.Brand, t2.Dealers FROM Table1 t1 CROSS JOIN Table2 t2;
也可以省略CROSS JOIN关键字,直接用逗号分隔两个表,效果相同:
SELECT t1.zipCode, t1.Brand, t2.Dealers FROM Table1 t1, Table2 t2;
两种写法都能得到预期的全量匹配结果。
内容的提问来源于stack exchange,提问作者tmd13
相关产品推荐
相关产品推荐

