不同DBMS中限制结果sql的写法

  select语句返回指定表中所有匹配的行,很可能是每一行。如果你只想返回第一行或者一定数量的行,该怎么办呢?这是可行的,然而遗憾的是,在各种DBMS中的这一SQL实现并不相同。

1.SQL Server、Access
select top 5 prod_name from products;

2.db2 
select prod_name from products fetch first 5 rows only;

3.oracle
select prod_name from products where rownum <=5;

4.MYSQL、MariaDB、PostgreSQL、SQLite
select prod_name from products limit 5;
为了得到后面的5行数据,需要指定从哪儿开始以及检索的行数:
select prod_name from products limit 5 offset 5; (返回从第5行起的5行数据,第一个数字是检索的行数,第二个数字是指从哪儿开始)
所以,limit指定返回的行数,limit带的offset指定从哪儿开始;

  注意:第一个被检索的行是第0行,而不是第一行。因此,limit 1 offset 1 会检索第二行,而不是第一行。
  提示:MYSQL、MariaDB、SQLift支持简化版的limit 4 offset 3 语句,即limit 3,4 使用这个语法,逗号之前的值对应offset,逗号之后的值对应limit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值