SQL> SELECT ROWID FROM quotes WHERE code = 4755;
ROWID
------------------
AAADVFAABAAAI1KAAA
SQL>
SELECT文のWHERE句に条件として指定できる。
SQL> SELECT * FROM quotes WHERE ROWID = 'AAADVFAABAAAI1KAAA';
CODE NAME
---------- ----------------------------------------------------------------
4755 楽天
SQL>
ROWNUM
ROWNUM疑似列とは、問い合わせで戻された行の番号であり、1から順番に付けられる。
SQL> SELECT ROWNUM, ename, sal FROM emp;
ROWNUM ENAME SAL
------ ------ ----
1 SMITH 800
2 ALLEN 1600
3 WARD 1250
4 JONES 2975
5 MARTIN 1250
6 ADAMS 1100
7 JAMES 950
SELECT文のWHERE句に条件として指定することで、先頭n件の結果だけを取得できる。
SQL> SELECT * FROM emp WHERE ROWNUM <= 3;
ENAME SAL
------ ----
SMITH 800
ALLEN 1600
WARD 1250
ROWNUM は ORDER BY 句でソート(並び替え)する前に番号が振られる。ソート後の上位 n 件を取得する場合は、副問い合わせを使う。
SQL> SELECT sal FROM (
SELECT empno FROM emp ORDER BY sal
)
WHERE RONUM <= 3
ORDER BY sal;
ENAME SAL
------ ----
SMITH 800
JAMES 950
ADAMS 1100