• SQL SELECT TOP, LIMIT, ROWNUM


    SQL SELECT TOP 子句


    • SELECT TOP 子句用于指定要返回的记录数量。 
    • SELECT TOP子句在包含数千条记录的大型表上很有用。返回大量记录会影响性能。 

    注:并不是所有的数据库系统都支持SELECT TOP子句。MySQL支持LIMIT子句来选择有限数量的记录,而Oracle使用ROWNUM。

    SQL Server / MS Access 语法

    1. SELECT TOP number|percent column_name(s)
    2. FROM table_name
    3. WHERE condition;

    MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的


    MySQL语法:

    1. SELECT column_name(s)
    2. FROM table_name
    3. WHERE condition
    4. LIMIT number;
    实例
    1. SELECT *
    2. FROM Persons
    3. LIMIT 5;

    Oracle 语法

    1. SELECT column_name(s)
    2. FROM table_name
    3. WHERE ROWNUM <= number;
    实例
    1. SELECT *
    2. FROM Persons
    3. WHERE ROWNUM <=5;

    演示数据库


     在本教程中,我们将使用著名的Northwind示例数据库。

     以下是"Customers" 表中的数据:

    CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
    Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
    2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
    3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
    Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
    5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

    SQL SELECT TOP 实例


     以下SQL语句从"Customers" 表中选择前两条记录:

    实例

    SELECT TOP 2 * FROM Customers;

    SQL SELECT TOP PERCENT 实例


     以下SQL语句从 "Customers" 表中选择前50%的记录:

    实例

    SELECT TOP 50 PERCENT * FROM Customers;

    SQL TOP,LIMIT和ROWNUM示例


     以下SQL语句从"Customers"表中选择前三个记录: 

    SELECT TOP 3 * FROM Customers;

     以下SQL语句显示了使用LIMIT子句的等效示例: 

    1. SELECT * FROM Customers
    2. LIMIT 3;

     以下SQL语句显示了使用ROWNUM的等效示例: 

    1. SELECT * FROM Customers
    2. WHERE ROWNUM <= 3;

    SQL TOP PERCENT示例


     以下SQL语句从"Customers"表中选择记录的前50%: 

    SELECT TOP 50 PERCENT * FROM Customers;

    添加一个条件


     以下SQL语句从"Customers"表中选择国家为"Germany"的前三条记录: 

    1. SELECT TOP 3 * FROM Customers
    2. WHERE Country='Germany';

     以下SQL语句显示了使用LIMIT子句的等效示例: 

    1. SELECT * FROM Customers
    2. WHERE Country='Germany'
    3. LIMIT 3;

     以下SQL语句显示了使用ROWNUM的等效示例: 

    1. SELECT * FROM Customers
    2. WHERE Country='Germany' AND ROWNUM <= 3;

    为什么要LIMIT你的查询结果


     LIMIT作为一种简单的分页方法,主要是为了减少数据返回的时间,如果您查询一个非常大的表(例如一个有数十万或数百万行的表)而不使用限制,那么您可能会等待很长时间才能显示所有的结果,所以使用LIMIT可以减少查询数据返回的时间,提高效率。

  • 相关阅读:
    SpringMVC中如何使用注解的方式实现文件上传呢?
    【leetcode】数组排序
    初始结构体
    FastReID 从pytorch到caffe (一)制作自己的数据集
    SuperMap iServer 快速发布其它平台GIS服务
    C++继承同名静态成员处理方式
    【数据库备份完整版】物理备份、逻辑备份,mysqldump、mysqlbinlog的备份方法
    Python 爬虫 03_requests 请求库
    Linux redis 安装
    开学教师自我介绍模版:打造个人品牌,轻松赢得学生喜爱
  • 原文地址:https://blog.csdn.net/m0_69824302/article/details/134089047