Sql 如何在没有公共列的情况下加入多个选项选择查询?

Sql 如何在没有公共列的情况下加入多个选项选择查询?,sql,Sql,我想组合不同select查询的多个列(都返回2列和1行)。我怎么做 比如说 select p.* from( (select a.id, a.global from table1 as a) (select j.gogl, j.popl from table2 as j) ) as p 它有多个select,但它们都返回2列,仅返回1行 预期产量 身份证件 全球的 高尔 波普 弗斯特 一行 弗斯特 一行 如果需要两个表中所有行的组合,请使用: select a.id, a.glob

我想组合不同select查询的多个列(都返回2列和1行)。我怎么做

比如说

select p.* from(
   (select a.id, a.global from table1 as a)
   (select j.gogl, j.popl from table2 as j)
) as p
它有多个select,但它们都返回2列,仅返回1行

预期产量

身份证件 全球的 高尔 波普 弗斯特 一行 弗斯特 一行
如果需要两个表中所有行的组合,请使用:

select a.id, a.global, j.gogl, j.popl
from table1 a cross join
     table2 j

注意:如果所有表都有一行,那么结果集将有一行。但是,行数可能会显著增加或减少,具体取决于表的大小。例如,如果任何表没有行,结果集就没有行。

如果保证只有一行,只需将每个select的输出组合成4列,您就可以使用带有“始终为真”条件的“完全联接”,这样,如果另一行恰好返回null,您将始终从其中一行获取值

select * from
    (select id, global from table1) as a
full join
    (select gogl, popl from table2) as j
on 1=1

请不要标记多个冲突的RDBMS。只标记您真正使用的一个。最后只需添加一个别名。