之前一直用MySQL,虽然比起SQLServer这个庞大的数据库系统MySQL很轻量,但它并不逊色。以下说说这两个在数据库各自的分页区别
取出前十条
MySQL
SELECT * FROM table LIMIT 10;
SQLServer
SELECT TOP 10 * FROM table
每页十条,取出第三页
MySQL
SELECT * FROM table LIMIT 20,10
SQLServer
SELECT TOP 10 * FROM table WHERE id NOT IN(
SELECT TOP 20 id FROM table ORDER BY id DESC
) ORDER BY id DESC;
由以上例子可以看出,在MySQL中分页用LIMIT关键字,如果是LIMIT 10
表示取前十条,如果是LIMIT 10,10
表示偏移十条取前十条记录。在SQLServer中用TOP关键字,如果只取前n条记录直接TOP n
即可,但是要是分页取就有点麻烦。