如何使用sql从两个表中获取数据

问题描述 投票:-2回答:2

我需要从两个表中获取数据,一个表有10列,另一个表有8列。

两者都有一个具有相同数据的公共列。

如何编写查询以从如下所示的两个表中获取数据?

1 aa cc vv bb bb bb   ss   ff ff ff ff > from table 1

1 aa ss ff re df dfsd sfsd ss          > from table 2

2 aa cc vv bb bb bb   ss   ff ff ff ff > from table 1

2 aa ss ff re df dfsd sfsd ss          > from table 2

类似于表1中的一个,而表2中的一个,循环

sql oracle db2
2个回答
0
投票

您可以尝试“自然连接”两个表,例如:

选择*FROM table_1自然加入table_2在[如有必要,任何条件;

这将为您提供两个表中的所有数据。


0
投票

您可以像下面那样使用UNION ALL,对于不常见的列,可以使用null。

       WITH sub1
     AS (SELECT ROWNUM rw,
                d.*
         FROM   table1 d),
     sub2
     AS (SELECT ROWNUM rw,
                b.*
         FROM   table2 b),
sub3 as(SELECT common_col1,null not_common,rw from sub2
union all
select common_col1,not_common,rw from sub1)
select common_col1,not_common from sub3 order by rw
© www.soinside.com 2019 - 2024. All rights reserved.