db2,oracle,sqlserver和mysql取前几行的语法

  • A+
所属分类:程序设计

db2,oracle,sqlservermysql取前几行的语法】
db2
select * from tab fetch first 10 rows only
oracle:
select * from tab where rownum <=10
sqlserver:
select top 10 * from tab
mysql:
select * from tab limit 10

注意:对Oracle的查询中 如果有如下order by子句,查询出来的数据可能不是你想要的

Oracle处理流程是:先搜索出rownum<2 的信息,再排序

select table_name from t_tables where rownum<2 order by table_name desc;

需要写成如下方式:

select t2.* from (select * from t_tables t order by table_name desc) t2 where rownum<2

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: