其实你可以用一个SQL语句进行对比确认,看看第一个查询是不是在第二个查询中: select coll from table_l where rownum>=20 and rownum<=30 and coll not in (select coll from (select coll from table_l where rownum>=20 and rownum<=30 ));
我想应该说来是一样的,,但是好像一般不只把rownum来作为一个取数据集的条件,
回复楼上的:问题的来源是这样的: 我要在大量原有的SQL语句的基础上自动加上新的判断条件,但是糟糕的是原来的程序员太用了大量的形如: select * from (select * from table_1) A,select col1...from table_1)B wher ... 这样的语句,造成无法嵌套,如果再在外面加上条件SQL就会产生列名两义性错误。TMD。 只好走偏锋用Rownum来解决,问题是解决了,但是心里总不踏实,担心,所以来求证一下高手,是否有隐患
select coll from table_l where rownum>=20 and rownum<=30 and coll
not in (select coll from (select coll from table_l where rownum>=20 and rownum<=30 ));
我要在大量原有的SQL语句的基础上自动加上新的判断条件,但是糟糕的是原来的程序员太用了大量的形如:
select * from (select * from table_1) A,select col1...from table_1)B wher ... 这样的语句,造成无法嵌套,如果再在外面加上条件SQL就会产生列名两义性错误。TMD。
只好走偏锋用Rownum来解决,问题是解决了,但是心里总不踏实,担心,所以来求证一下高手,是否有隐患