Sql 如何在没有公共列的情况下加入多个选项选择查询?
我想组合不同select查询的多个列(都返回2列和1行)。我怎么做 比如说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 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。只标记您真正使用的一个。最后只需添加一个别名。