Oracleでのrownumの基本的な使い方
Oracleにおいて、rownumは擬似列であり、クエリ結果セット内の各行に一意の行番号を割り当てるために使用されます。
rownumの基本的な使い方は以下の通りです。
- 行番号
SELECT *
FROM table_name
WHERE rownum <= 10;
上記の例では、結果セットから最初の10行を返します。
- 行数
SELECT *
FROM (SELECT * FROM table_name ORDER BY column_name)
WHERE rownum <= 10;
指定された列で並べ替えられた結果セットの上位10行が返されます。
クエリの結果セットが返される前に割り当てられる行番号である「rownum」をSELECT文内で直接参照して条件を絞ることはできないので注意が必要です。行番号を条件で絞る必要がある場合は、サブクエリを使用することができます。
結果が返される前に割り当てられるrownumという行番号にも注意する必要があります。そのため、rownumを使用してフィルタリングや並べ替えを行う場合は、サブクエリ内で使用する必要があります。そうでないと、結果が正しくない可能性があります。