读书人

oracle 问一下sql语句 小弟我现在都

发布时间: 2012-04-01 17:23:46 作者: rapoo

oracle 问一下sql语句 我现在都糊涂了
select * from A where id in ( select aid form b where id = m )

if “select aid form b where id = m” 查出来的为空 该怎么处理啊 (不用过程和函数)

[解决办法]
你的问题是啥啊?没感觉这句话没有啥问题啊?
select * from A where id in ( select aid form b where id = m )

查询子句如果为NULL,无非就是整个语句没有任何返回呗。

[解决办法]
如果查询结果为空,那返回结果也为空啊,建议楼主自己试试啊,加油啊.
[解决办法]
不会报错,查询结果为0条记录
[解决办法]

探讨
引用:
不会报错,查询结果为0条记录


报错的 如果 in内的条件为空 是报错的 我试过了 select * from A where id in (); 你试一下 绝对错的

[解决办法]
不报错。。。。你报的是什么错,缺失表达式?
[解决办法]
select * from A where id in ( select aid form b where id = m )

报错,这个我还真没试过,那么改成表连接吧:

select A.*
from A join B on A.id = B.aid
where B.id = m
[解决办法]
SQL> select * from city where name in ('');

PROVINCE_NAME NAME POST_CODE EN_NAME NODE_ID
------------------------------ ------------------------------ --------- ------------------------------ ---------------------------------------
[解决办法]
Java code
SQL> select * from city where name in (); PROVINCE_NAME                  NAME                           POST_CODE EN_NAME                                                        NODE_ID------------------------------ ------------------------------ --------- -----------------
[解决办法]
SQL> select * from IFLOW_INTERTRY where id in (NULL);

ID GROUPID USERID PROCESSID DEPARTMENTID WRITERDATE TELEPHONE THEME TITLE ENCLOSURE DEPARTCANCEL DEPARTOPINION FUZONGNAME FUZONGSIGN RELATIVENAME RELATIVESIGN LEADNAME LEADEXAMINE OPERTIME ZONGBANMISHUID GONGSILINGDAOID
-------------------- ------- -------------------- --------
大哥,没报错,如果报错,把报错信息放上来
[解决办法]
我记得in是不报错的,看你们吵的热烈,我又去MySQL中试了下:
Select * From A Where A.id in (Select B.sid From B Where B.id = 1)
A、B 两个表都是空表,没报错,正常执行。

楼主你说的出错,查询子句是自己用拼装字符串的方式去搞的?


[解决办法]
Java code
SQL> select name from city where node_id='19'; NAME------------------------------ SQL> select * from city  where name in (select name from city where node_id='19'); PROVINCE_NAME                  NAME                           POST_CODE EN_NAME                                                        NODE_ID------------------------------ ------------------------------ --------- ------------- 


[解决办法]

探讨
引用:
Java code


SQL> select name from city where node_id='19';

NAME
------------------------------

SQL> select * from city where name in (select name from city where node_……

[解决办法]
用 mysql 不报错误的
[解决办法]
把你输入的SQL,及其提示的信息,完整点复制出来吧,不用截图,文字就行了。
[解决办法]
没用过oracle 貌似不会报错吧 如果报错你就不能用exists替换掉in吗
[解决办法]
oracle 10g下不报错
select * from a where a.dm in(select dm from B where dm='123456');
in子句没有值

读书人网 >J2EE开发

热点推荐