SQL

时间:2015-12-16 09:19:23

标签: sql oracle9i

我正在使用Oracle数据库9iR2。我的查询没有给出结果。请检查

select stdno 
from std 
where stdno in (select stdno from std_degree where code=243);

no rows selected

select stdno 
from std 
where  to_char(stdno) in (select to_char(stdno) from std_degree where code=243)

no rows selected
select stdno from std_degree where code=243;

Output is: 
10064927
10064930
10065571

另一个问题:

select stdno from std where stdno in (10064927,10064930,10065571);

Output is:
10064927
10064930
10065571

通过INNER JOIN工作。

select stdno 
from std 
INNER JOIN std_degree 
  on std.stdno=std_degree.stdno 
 and std_degree.code=243;

Output is:

10064927
10064930
10065571

有人请说明为什么IN子句无法正常工作。

请注意,相同的SQL语句在同一数据库的副本中运行良好。

0 个答案:

没有答案