无法显示脚本中的数据



我在oracle-sql开发人员中使用以下命令,它可以很好地输出数据

SQL> SELECT table1.documentid  FROM table1
documentid
==========
001
002
003

当使用以下脚本时

SELECT table1.documentid  FROM table1
join table2 
on table2.id=table1.documentid ;

输出是

documentid
==========
no rows select

我想知道为什么没有数据输出,我的错误可能是什么原因?

非常感谢的帮助

由于这是两个表的联接,如果table2.idtable1.documentid之间存在匹配值,则查询将返回结果。

您说table1.documentid包含值001、002和003——这意味着table2.id应该至少包含其中一个值——否则,查询将不会返回任何内容。

事实证明,它确实没有返回任何行,这意味着table2要么是空的,要么在其id列中不包含001、002或003。


这就是您目前拥有的:

SQL> select * from table1;
DOC
---
001
002
003
SQL> select * from table2;
no rows selected
SQL> SELECT table1.documentid  FROM table1
2  join table2
3  on table2.id=table1.documentid ;
no rows selected

如果切换到外部联接可以获得结果:

SQL> SELECT table1.documentid  FROM table1
2  left join table2
3  on table2.id=table1.documentid ;
DOC
---
001
003
002
SQL>

最新更新