我正在使用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语句在同一数据库的副本中运行良好。