有一种情况是我们从内部查询中检索一些结果并使用结果来执行一些操作
create table test1(key integer,value varchar)
insert into test1 values(1,'value 1');
insert into test1 values(2,'value 2');
insert into test1 values(3,'value 3');
第二张表为
create table test2(key1 integer, valuein varchar);
insert into test2 values (2,'value inside is 2');
insert into test2 values (4,'value inside is 4');
insert into test2 values (5,'value inside is 5');
下面的查询给出了结果,但在我看来它应该给出一个错误
select * from test1 where key in
(select key from test2)
因为 test2 表中不存在键列。
但它在 postgres 中给出了结果
但是当在 oracle 中运行时,它会给出错误
ORA-00904: "KEY": invalid identifier 00904. 00000 - "%s: invalid identifier"