如何关联TAB1与TAB2生成指定结构的结果表TAB3?
如何关联两个数据表得到全组合结果
我有两个数据表:
TAB1
| TAB1 |
|---|
| Ball |
| Car |
TAB2
| TAB2 |
|---|
| Jan |
| Feb |
想要关联它们得到如下结果表(注:结果中的Carl应为Car的笔误):
TAB3
| TAB3 | |
|---|---|
| Ball | Jan |
| Car | Jan |
| Ball | Feb |
| Car | Feb |
这是典型的笛卡尔积需求,即把两个表的所有记录进行两两组合,在SQL中可以通过CROSS JOIN直接实现:
SQL 实现代码
SELECT t1.TAB1 AS TAB3, t2.TAB2 FROM TAB1 t1 CROSS JOIN TAB2 t2;
如果你的SQL方言不支持显式CROSS JOIN,也可以使用不带连接条件的隐式交叉连接写法:
SELECT t1.TAB1 AS TAB3, t2.TAB2 FROM TAB1 t1, TAB2 t2;
执行以上语句后,就能得到两个表所有行的全组合结果,与需求的TAB3结构完全一致。
内容的提问来源于stack exchange,提问作者Miroslav Kolouch
相关产品推荐
相关产品推荐

