【4】SQL之top、like、通配符、in、between

  • TOP字句

用于规定要返回的记录的数目。
对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。
注释:并非所有的数据库系统都支持 TOP 子句。
语法:
SELECT TOP number|percent 列名1,列名2 FROM 表名
例子:
select top 2 * from 表名
select top 50 percent * from 表名

MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的
MySQL 语法:SELECT 列名 FROM 表名 LIMIT number
例子:SELECT * FROM Persons LIMIT 5

Oracle 语法:SELECT 列名 FROM 表名 WHERE ROWNUM <= number

  • LIKE 操作符

用于在 WHERE 子句中搜索列中的指定模式。
语法:
SELECT 列名1,列名2 FROM 表名 WHERE 列名 LIKE pattern
例子:
like ‘N%‘(以N开头)
like ‘%g‘(以g结尾)
like ‘%李磊%‘(包含李磊)
not like ‘%李磊%‘(不包含李磊)
"%" 可用于定义通配符(模式中缺少的字母)。

  • 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用以下通配符:
通配符 描述
% 替代一个或多个字符
_ 仅替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist]或者[!charlist] 不在字符列中的任何单一字符
like ‘[A]%‘(以A开头)
like ‘[ALN]%‘(以A、L、N开头)
like ‘[!ALN]%‘(不以A、L、N开头)

  • IN 操作符

在 WHERE 子句中规定多个值。
语法:
select 列名 from 表名 where 列名 in (值1,值2,值3,...)
若值是文本值,需要加单引号。

  • BETWEEN 操作符

在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
语法:
select 列名 from 表名 where 列名 between 值1 and 值2(包含值1、但不包含值2)
not between 值1 and 值2(显示范围之外的数据)

重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。
所以,请检查你的数据库是如何处理 BETWEEN....AND 操作符的!

原文地址:https://www.cnblogs.com/youjidao/p/10821297.html

时间: 2024-10-18 07:28:27

【4】SQL之top、like、通配符、in、between的相关文章

SQL SELECT TOP 语句

SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的. 注释:并非所有的数据库系统都支持 SELECT TOP 子句. SQL Server / MS Access 语法 SELECT TOP number|percent column_name(s) FROM table_name; MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的 MySQL 语法 SELECT column_name(s)

SQL的top语句

TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 注释:并非所有的数据库系统都支持 TOP 子句. SQL Server 的语法: SELECT TOP number|percent column_name(s) FROM table_name MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的 MySQL 语法 SELECT column_name(s) FROM table_name LIMIT number 例子

[9]SQL SELECT TOP, LIMIT, ROWNUM

[9]SQL SELECT TOP, LIMIT, ROWNUM SQL SELECT TOP 实例 下面的 SQL 语句从 "Websites" 表中选取头两条记录: SELECT * FROM Websites LIMIT 2;

[LeetCode][SQL]Department Top Three Salaries

Department Top Three Salaries The Employee table holds all employees. Every employee has an Id, and there is also a column for the department Id. +----+-------+--------+--------------+ | Id | Name | Salary | DepartmentId | +----+-------+--------+----

SQL Server Top Queries 报告

So for today’s blog post, we will concentrate on 4 different reports: Top Queries by Average CPU Time Top Queries by Total CPU Time Top Queries by Average IO Time Top Queries by Total IO Time These are the standard reports from the Server node. Go to

SQL学习之用通配符进行数据过滤

一.Like操作符 之前介绍的所有的操作符都是针对已知值进行过滤.不管匹配一个值还是多个值,检验大于还是小于已知值,或者检查某个范围的值,其共同点是过滤中使用的值都是已知的. 但是这种方法并不是任何时候都好用.有如下代码: select ItemId,ItemName,CheckValueNum,CheckValueString,ResultLevel from T_Check_InfoDetail 需求:现在需要检索ItemName中包含"心率"的行记录,这个时候使用简单的比较操作符

SQL中的“_”通配符

"_"通配符的功能与"%"通配符基本相同,只是它只表示任意一个字符的的匹配,当然要想表示两个字符的匹配,就需要使用两个"_"通配符, 只有在用户确定的所要查询的字符串的个数,只是不确定其中的一个或者几个字符的确切值,才使用"_". 例子:使用"_"通配符查询课程名有5个字且以"计算机"开始的课程 在course表中查询以"计算机"开头且只有5个文字的所有课程的名字(c

MySQL用limit代替SQL Server :top

mysql 中不支持top,而是用limit代替 若要查询前10条记录,mysql用limit 10 LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下: SELECT * FROM MYTABLE ORDER BY AFIELD LIMIT offset, recnum 其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数.例: select * from mytable order by afield limit 2, 5 即意为从第3

SQL TOP 子句、SQL LIKE 操作符、SQL 通配符

TOP 子句 TOP 子句用于规定要返回的记录的数目. 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 注释:并非所有的数据库系统都支持 TOP 子句. SQL Server 的语法: SELECT TOP number|percent column_name(s) FROM table_name MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的 MySQL 语法 SELECT column_name(s) FROM table_name LIMIT num