首页 > 数据库 >无涯教程-SQL - Top语句

无涯教程-SQL - Top语句

时间:2024-01-15 20:31:30浏览次数:24  
标签:25 CUSTOMERS +----+---------+-----+-----------+---------+ Top 2000.00 无涯 SQL TOP

SQL TOP 子句用于从表中获取TOP 前N条或前X百分记录。

注意-所有数据库都不支持TOP子句,如,MySQL支持 LIMIT 子句来获取有限数量的记录,而Oracle使用 ROWNUM 命令来获取有限数量的记录。

Top - 语法

带有SELECT语句的TOP子句的基本语法如下。

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

Top - 示例

考虑具有以下记录的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 | Learnfk    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

以下查询是SQL Server上的示例,它将从CUSTOMERS表中获取前3条记录。

SQL> SELECT TOP 3 * FROM CUSTOMERS;

这将产生以下输出-

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

如果您使用的是MySQL服务器,那么这是一个等效示例-

SQL> SELECT * FROM CUSTOMERS
LIMIT 3;

这将产生以下输出-

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

如果使用的是Oracle服务器,则以下代码块具有等效的示例。

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

这将产生以下输出-

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

参考链接

https://www.learnfk.com/sql/sql-top-clause.html

标签:25,CUSTOMERS,+----+---------+-----+-----------+---------+,Top,2000.00,无涯,SQL,TOP
From: https://blog.51cto.com/u_14033984/9258236

相关文章

  • 无涯教程-SQL - 删除操作(Delete)
    SQLDELETE查询用于从表中删除现有记录,您可以将WHERE子句与DELETE查询一起使用,以删除所选的行,否则将删除所有记录。DeleteQuery-语法带WHERE子句的DELETE查询的基本语法如下-DELETEFROMtable_nameWHERE[condition];您可以使用AND或OR运算符组合N个条件。DeleteQuery......
  • Qt连接MySQL数据库失败
    连接MySQL数据库时报错:QSqlDatabase:QMYSQLdrivernotloadedQSqlDatabase:availabledrivers:QSQLITEQODBCQODBC3QPSQLQPSQL7有上述报错是因为使用的qt版本不自带mysql的驱动,需要手动编译。可以检查一下D:\pawf\Program\dev\cpp\Qt\5.15.2\mingw81_64\plugins\sqldri......
  • 我成为开源贡献者的原因竟然是做MySql-CDC数据同步
    今年下半年机缘巧合下公司决定搭建自己的数据中台,中台的建设势必少不了数据集成。首先面临的就是数据集成技术选型的问题,按照社区活跃度、数据源适配性、同步效率等要求对市面上几个成熟度较高的开源引擎进行了深度调研。最终经过内部讨论决定用ApacheSeaTunnel作为数据集成的基......
  • 无涯教程-SQL - Like语句
    SQLLIKE子句用于使用通配符运算符将值与相似值进行比较,LIKE运算符与两个通配符一起使用。百分号(%)下划线(_)百分号代表零个,一个或多个字符,下划线表示单个数字或字符,这些符号可以组合使用。Like-语法%和_的基本语法如下-SELECTFROMtable_nameWHEREcolumnLIKE'XXX......
  • mysql8.0用户与权限管理
    1、用户管理1.1、密码过期策略在MySQL中,数据库管理员可以手动设置账号密码过期,也可以建立一个自动密码过期策略。过期策略可以是全局的,也可以为每个账号设置单独的过期策略。ALTERUSERuserPASSWORDEXPIRE;练习:ALTERUSER'kangshifu'@'localhost'PASSWORDEXPIRE;......
  • MySQL面试题(1):count
    InnoDB和MyISAM的count(*)有何不同MyISAM引擎把一个表的总行数存在了磁盘上,因此执行count(*)的时候会直接返回这个数(无where条件)InnoDB执行count(*)的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数为什么InnoDB不跟MyISAM一样,也把数字存起来呢?因为......
  • mysql分区表
    1.什么是分区?​所谓的分区就是将一个表分解成多个区块进行操作和保存,从而降低每次操作的数据,提高性能,而对应用来说是透明的,从逻辑上看就只是一个表(这里跟分库分表的访问不一样),但是物理上的这个表可能是由多个物理分区组成,每个分区都是一个独立的对象,可以进行独立处理。2.分区目......
  • 无涯教程-SQL - AND&OR语句
    SQLAND&OR运算符用于组合多个条件以缩小SQL语句中的数据。AND-运算符AND运算符允许SQL语句的WHERE子句中存在多个条件。AND-语法带WHERE子句的AND运算符的基本语法如下-SELECTcolumn1,column2,columnNFROMtable_nameWHERE[condition1]AND[condition2]...AND......
  • MySQL中SQL语句的执行流程
    比如有一条SQL语句select*fromtableswherename='zhangsan';那么这条语句通过MySQL查询,执行流程是怎么样的?直接看图:1.客户端跟服务端建立连接,权限校验2.检查是否开启缓存QueryCache,并且是否命中缓存,如果命中,直接将数据返回给客户端;没有命中则向后继续执行3.检查SQ......
  • 无涯教程-SQL - Where语句
    SQLWHERE子句用于在从单个表或通过与多个表联接中获取数据时指定条件,您应该使用WHERE子句来过滤记录并仅提取必要的记录。WHERE子句不仅在SELECT语句中使用,而且在UPDATE,DELETE语句等中使用,无涯教程将在后续章节中进行研究。Where-语法带有WHERE子句的SELECT语句的基本语......