Oracle 21c如何限制SELECT查询行数?获取client表前10行失败求助
Oracle 21c 获取表前10条数据的正确语句
Oracle 21c不支持LIMIT关键字,这是你之前查询无结果的原因。以下是两种可行的正确写法:
方法1:利用ROWNUM伪列
SELECT * FROM client WHERE ROWNUM <= 10;
ROWNUM是Oracle内置的伪列,会在结果集生成时为每行分配递增序号,通过ROWNUM <= 10即可筛选出前10条数据。
方法2:使用FETCH FIRST语法(Oracle 12c+兼容,21c适用)
SELECT * FROM client FETCH FIRST 10 ROWS ONLY;
这种写法更简洁直观,是Oracle新版本推荐的语法。
若表属于指定用户(USER)
如果当前登录的数据库用户不是USER,需要在表名前指定用户(schema):
-- 带schema的ROWNUM写法 SELECT * FROM USER.client WHERE ROWNUM <= 10; -- 带schema的FETCH FIRST写法 SELECT * FROM USER.client FETCH FIRST 10 ROWS ONLY;
内容的提问来源于stack exchange,提问作者Booshana Namudara
相关产品推荐
相关产品推荐

