如何使用sql从两个表中获取数据
我需要从两个表中获取数据,一个表有10列,另一个表有8列 两者都有一个具有相同数据的公共列 如何编写一个查询来从如下两个表中获取数据如何使用sql从两个表中获取数据,sql,oracle,db2,Sql,Oracle,Db2,我需要从两个表中获取数据,一个表有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 f
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中的这两个表一样,在循环中,您可以尝试“自然连接”这两个表,如:
挑选*
从表1自然联接表2
如有任何情况,如有必要
这将为您提供两个表中的所有数据。您可以像下面一样使用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
我需要一个接一个地获取数据。。逐行发布示例输入(不过可能更简单)。什么是期望输出?另外,您使用哪个数据库?是Oracle还是DB2?请发布这两个表的结构。这与提供可行的解决方案非常相关。请使用两个表的
CREATE TABLE
和INSERT-INTO
(使用一些示例数据)语句以及此示例数据所需的结果重写您的问题。