📜  oracle 选择前 10 行 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:24.891000             🧑  作者: Mango

Oracle 选择前 10 行 - SQL

在Oracle数据库中,可以使用ROWNUM关键字来选择前N行数据。下面是选择前10行数据的SQL语句示例:

SELECT *
FROM table_name
WHERE ROWNUM <= 10;

需要注意的是,ROWNUM是一个伪列,它实际上不存在于表中。它的取值是在查询时动态生成的。

在使用ROWNUM时需要注意一些问题:

  • ROWNUM是在查询结果返回之前生成的,因此在查询条件中不能使用ROWNUM
  • 如果在查询结果中限制了行数,那么使用ROWNUM也要注意,因为ROWNUM是在查询结果返回之前生成的,因此需要先限制行数再使用ROWNUM
SELECT *
FROM 
(
    SELECT *
    FROM table_name
    WHERE condition
    AND ROWNUM <= 20
)
WHERE ROWNUM <= 10;

上面的例子中,先对表进行筛选,得到前20行数据,再从这20行中选取前10行数据。

除了以上方案之外,还可以使用FETCH FIRST关键字来选择前N行数据。这是Oracle 12c及以上版本中的功能。

SELECT *
FROM table_name
WHERE condition
ORDER BY column_name
FETCH FIRST 10 ROWS ONLY;

以上代码会按照column_name列的值进行排序,然后选择前10行数据。

更多Oracle的查询语法和技巧,可以参考Oracle官方文档。