在oracle中使用ROWID

时间:2015-03-05 19:38:53

标签: oracle

SELECT *
FROM emp
WHERE (ROWID,0) IN (SELECT ROWID, MOD(ROWNUM,4)
FROM emp);

在上面的查询中,Rowid,0的用途是什么?我检查了文档,但找不到相关的详细信息。

1 个答案:

答案 0 :(得分:1)

SELECT MOD(1,4) FROM dual returns 1
SELECT MOD(2,4) FROM dual returns 2
SELECT MOD(3,4) FROM dual returns 3
SELECT MOD(4,4) FROM dual returns 0

因此上面的查询选择了每个返回MOD函数值0的行,这基本上是第4行。