交叉连接 2 个表但包含一个空行

Cross join 2 tables but include a null row

我想合并 2 个表,为 2 个表之间的每个组合获取一行,包括一个空行(? -> 不确定如何描述这个,一个空行)。交叉连接为我提供了组合,但没有空行。

Table 1
A
B
C
Table 2
1
2
3

预期结果

Table 1 Table 2
A 1
A 2
A 3
A null
B 1
B 2
B 3
B null
C 1
C 2
C 3
C null

您可以在 子查询 中使用 union 来添加空行

与表 t1col1t2col2

select * from t1 
cross join (
  select col2 from t2 union all select null
) t2
order by col1, col2