SQL 查询里要限制返回行数,用法其实蛮多种的。SQLServer里的 SELECT TOP 算是用得比较多的,比如你只想看前 5 个学生数据,可以直接来一行:SELECT TOP 5 SName, SAddress FROM Students WHERE SSex = 0,写法挺直观,运行效率也不错。

DB2就稍微不一样了,它一般用 FETCH FIRST n ROWS ONLY,虽然多打几个字,但结构也蛮清楚。比如:

SELECT SName, SAddress FROM Students WHERE SSex = 0 FETCH FIRST 5 ROWS ONLY;

如果你想取前百分之多少行,SQLServer 也能支持,用 TOP PERCENT 就行,比如取前 20%:

SELECT TOP 20 PERCENT SName, SAddress FROM Students WHERE SSex = 0;

不过注意哦,这种写法最好加个 ORDER BY,不然返回的数据顺序会不稳定。你可以根据业务排序一下,比如:

SELECT TOP 10 PERCENT * FROM Orders ORDER BY OrderDate DESC;

顺便整理了几个挺实用的资源,有 SQLServer 和 DB2 的技巧、教程,还有个 SQL 查询语句集锦,平时可以翻翻:

如果你平时同时用 DB2 和 SQLServer,建议把两边的语法区别整理一下,写查询的时候就不用每次去翻文档。