查询数据库前10行的方法

   切记:Oracle 不支持Limit用法

今天为了查询前十行的数据,写了个SQL

eg:SELECT  *  FROM   table_name    limit 10

结果是一直没有结果,百度之后发现Orale没有Limit的用法,同时也了解了各个数据库查询前十行记录的方法

1、Oracle

  SELECT*   FROM  table_name  rownum<=10

2、SQL

SELECT  TOP10 *  FROM  table_name 

如果还要将结果按一定的顺序排列

SELECT  TOP 10 *  FROM  table_name  order  by  colum_name  asc

asc代表升序,desc 代表降序

select top n * from (select top m * from table_name order by column_name ) a order by column_name desc   

如果要查询第N到M条记录

SELECT  TOP 10 *  FROM (SELECT TOP 10 * FROM table_name order by column_nume )a  order  by  colum_name  asc

3、MYSQL/Sqlite

SELECT * FROM  table_neme   limit 10

也可以写0,10,一般0被省略。0代表从第0条记录之后开始,也是从第一条开始

SELECT * FROM  table_neme   limit 5,10

从第5条记录开始,查询后面的10条记录。10代表的是偏移量

      LIMIT子句限定行数的最大值。负的LIMIT表示无上限。后跟可选的OFFSET说明跳过结果集中的前多少行。在一个复合查询中,LIMIT 子句只允许出现在最终SELECT语句中。限定对于所有的查询均适用,而不仅仅是添加了LIMIT子句的那一行。注意OFFSET关键字用于LIMIT子 句中,则限制值是第一个数字,而偏移量(offset)是第二个数字。若用逗号替代OFFSET关键字,则偏移量是第一个数字而限制值是第二个数字。这是 为了加强对遗留的SQL数据库的兼容而有意造成的矛盾。 

 

 

 

你可能感兴趣的:(SQL)