一个数据库查询的问题

时间:2021-08-31 09:32:58
表一
COLUMNS1       COLUMNS2       COLUMNS3
A                  B              C(列名)
1                  2              3
1                  2              6

表二
COLUMNS1       COLUMNS2       COLUMNS3
A                  B              E(列名)
1                  2              9

要求查询结果
COLUMNS1       COLUMNS2       COLUMNS3       COLUMNS4
A                  B              C              E(列名)
1                  2              3              9
1                  2              6           (这里为空)
说明:两张表中哪张表数据多结果记录数就按多的,(比如说如果表1有3条记录,表2有2条记录,查询结果应该是3条,但表二中的COLUMNS3列值要为空)
不知道说明清楚没有。
在线等

4 个解决方案

#1


求SQL语句

#2


select
    a.COLUMNS1,a.COLUMNS2,a.COLUMNS3,b.COLUMNS3 as COLUMNS4
from
    表一 a
left join
    表二 b
on
    a.COLUMNS1=b.COLUMNS1 and a.COLUMNS2=b.COLUMNS2

#3


select
    a.A,a.B,a.C,b.E
from
    表一 a
left join
    表二 b
on
    a.A=b.Aand a.B=b.B

#4


--如果只是需要一对一的对应,而两表之间没有字段直接对应关联:
select
    a.A,a.B,a.C,b.E
from
    (select rownum as id,* from 表一) a
left join
    (select rownum as id,* from 表二) b
on
    a.id=b.id

#1


求SQL语句

#2


select
    a.COLUMNS1,a.COLUMNS2,a.COLUMNS3,b.COLUMNS3 as COLUMNS4
from
    表一 a
left join
    表二 b
on
    a.COLUMNS1=b.COLUMNS1 and a.COLUMNS2=b.COLUMNS2

#3


select
    a.A,a.B,a.C,b.E
from
    表一 a
left join
    表二 b
on
    a.A=b.Aand a.B=b.B

#4


--如果只是需要一对一的对应,而两表之间没有字段直接对应关联:
select
    a.A,a.B,a.C,b.E
from
    (select rownum as id,* from 表一) a
left join
    (select rownum as id,* from 表二) b
on
    a.id=b.id