鍍金池/ 教程/ 數(shù)據(jù)庫/ SQL TOP、LIMIT 和 ROWNUM 子句
SQL AND 和 OR 連接運算符
SQL 刪除數(shù)據(jù)庫
SQL 使用序列
SQL CONCAT 函數(shù)
SQL 使用視圖
SQL SELECT 語句
SQL 別名
SQL MAX 函數(shù)
SQL 創(chuàng)建表
SQL NULL 值
SQL 數(shù)據(jù)類型
SQL RAND 函數(shù)
SQL 臨時表
SQL INSERT 語句
SQL ALTER TABLE 命令
SQL 關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
SQL SUM 函數(shù)
SQL 子查詢
SQL UPDATE 語句
SQL 表達式
SQL 操作符
SQL ORDER BY 子句
SQL WHERE 子句
SQL 對結(jié)果進行排序
SQL 注入
SQL AVG 函數(shù)
SQL 選擇數(shù)據(jù)庫,USE 語句
SQL 克隆數(shù)據(jù)表
SQL COUNT 函數(shù)
SQL 語法
SQL DELETE 語句
SQL 約束
SQL 刪除表
SQL TOP、LIMIT 和 ROWNUM 子句
SQL 日期函數(shù)
SQL TRUNCATE TABLE 命令
SQL DISTINCT 關(guān)鍵字
SQL 處理重復數(shù)據(jù)
SQL 使用連接
SQL 索引
SQL 事務(wù)
SQL GROUP BY 子句
SQL HAVING 子句
SQL MIN 函數(shù)
SQL 概覽
SQL SQRT 函數(shù)
SQL LIKE 子句
SQL 通配符
SQL UNION 子句
SQL 數(shù)據(jù)庫
SQL 創(chuàng)建數(shù)據(jù)庫

SQL TOP、LIMIT 和 ROWNUM 子句

SQL TOP 子句用于從一張數(shù)據(jù)表中取回前 N 個或者 X% 的記錄。

注意:所有的數(shù)據(jù)庫系統(tǒng)都不支持 TOP 子句。例如,MySQL 支持 LIMIT 子句,用以取回有限數(shù)量的記錄,而 Oracle 則使用 ROWNUM 子句來實現(xiàn)這一功能。

語法

在 SELECT 語句中使用 TOP 子句的基本語法如下所示:

    SELECT TOP number|percent column_name(s)
    FROM table_name
    WHERE [condition]

示例

考慮含有如下所示記錄的 CUSTOMERS 表:

    +----+----------+-----+-----------+----------+
    | ID | NAME     | AGE | ADDRESS   | SALARY   |
    +----+----------+-----+-----------+----------+
    |  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
    |  2 | Khilan   |  25 | Delhi     |  1500.00 |
    |  3 | kaushik  |  23 | Kota      |  2000.00 |
    |  4 | Chaitali |  25 | Mumbai    |  6500.00 |
    |  5 | Hardik   |  27 | Bhopal    |  8500.00 |
    |  6 | Komal    |  22 | MP        |  4500.00 |
    |  7 | Muffy    |  24 | Indore    | 10000.00 |
    +----+----------+-----+-----------+----------+

下面的例子將從 CUSTOMERS 表中取回前 3 條記錄:

    SQL> SELECT TOP 3 * FROM CUSTOMERS;

結(jié)果如下所示:

    +----+---------+-----+-----------+---------+
    | ID | NAME    | AGE | ADDRESS   | SALARY  |
    +----+---------+-----+-----------+---------+
    |  1 | Ramesh  |  32 | Ahmedabad | 2000.00 |
    |  2 | Khilan  |  25 | Delhi     | 1500.00 |
    |  3 | kaushik |  23 | Kota      | 2000.00 |
    +----+---------+-----+-----------+---------+

如果你在使用 MySQL 數(shù)據(jù)庫服務(wù)器,那么等價的例子如下所示:

    SQL> SELECT * FROM CUSTOMERS
    LIMIT 3;

結(jié)果如下所示:

    +----+---------+-----+-----------+---------+
    | ID | NAME    | AGE | ADDRESS   | SALARY  |
    +----+---------+-----+-----------+---------+
    |  1 | Ramesh  |  32 | Ahmedabad | 2000.00 |
    |  2 | Khilan  |  25 | Delhi     | 1500.00 |
    |  3 | kaushik |  23 | Kota      | 2000.00 |
    +----+---------+-----+-----------+---------+

如果你在使用 Oracle 數(shù)據(jù)庫服務(wù)器,那么等價的例子如下所示:

    SQL> SELECT * FROM CUSTOMERS
    WHERE ROWNUM <= 3;

結(jié)果如下所示:

    +----+---------+-----+-----------+---------+
    | ID | NAME    | AGE | ADDRESS   | SALARY  |
    +----+---------+-----+-----------+---------+
    |  1 | Ramesh  |  32 | Ahmedabad | 2000.00 |
    |  2 | Khilan  |  25 | Delhi     | 1500.00 |
    |  3 | kaushik |  23 | Kota      | 2000.00 |
    +----+---------+-----+-----------+---------+
上一篇:SQL 日期函數(shù)下一篇:SQL 子查詢