`
hemingwey
  • 浏览: 7165 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL 高级--top、like、通配符

    博客分类:
  • sql
阅读更多

TOP 子句
TOP 子句用于规定要返回的记录的数目。

对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。

注释:并非所有的数据库系统都支持 TOP 子句。

 

SQL Server 的语法:
SELECT TOP number|percent column_name(s)
FROM table_nameMySQL 和 Oracle 中的 SQL SELECT TOP 是等价的

MySQL 语法
SELECT column_name(s)
FROM table_name
LIMIT number例子
SELECT *
FROM Persons
LIMIT 5

 

Oracle 语法
SELECT column_name(s)   FROM table_name    WHERE ROWNUM <= number

例子
SELECT *  FROM Persons  WHERE ROWNUM <= 5

SQL TOP 实例
现在,我们希望从上面的 "Persons" 表中选取头两条记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 2 * FROM Persons

SQL TOP PERCENT 实例
现在,我们希望从上面的 "Persons" 表中选取 50% 的记录。

我们可以使用下面的 SELECT 语句:

SELECT TOP 50 PERCENT * FROM Persons

 

LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SQL LIKE 操作符语法
SELECT column_name(s)   FROM table_name   WHERE column_name LIKE pattern

LIKE 操作符实例
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons   WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。

例子 2
接下来,我们希望从 "Persons" 表中选取居住在以 "g" 结尾的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons    WHERE City LIKE '%g'

例子 3
接下来,我们希望从 "Persons" 表中选取居住在包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons      WHERE City LIKE '%lon%'

例子 4
通过使用 NOT 关键字,我们可以从 "Persons" 表中选取居住在不包含 "lon" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons         WHERE City NOT LIKE '%lon%'

 

SQL 通配符
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

通配符 描述
%                               替代一个或多个字符
_                               仅替代一个字符
[charlist]                      字符列中的任何单一字符
[^charlist]或者[!charlist]      不在字符列

使用 % 通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住在以 "Ne" 开始的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons       WHERE City LIKE 'Ne%'

例子 2
接下来,我们希望从 "Persons" 表中选取居住在包含 "lond" 的城市里的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons        WHERE City LIKE '%lond%'

使用 _ 通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons        WHERE FirstName LIKE '_eorge'

例子 2
接下来,我们希望从 "Persons" 表中选取的这条记录的姓氏以 "C" 开头,然后是一个任意字符,然后是 "r",然后是任意字符,然后是 "er":

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons        WHERE LastName LIKE 'C_r_er'

使用 [charlist] 通配符
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons      WHERE City LIKE '[ALN]%'

例子 2
现在,我们希望从上面的 "Persons" 表中选取居住的城市不以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons      WHERE City LIKE '[!ALN]%'

 

注:来源网络

分享到:
评论

相关推荐

    T-SQL 高级语句

    这些T-SQL高级语句——TOP子句、LIKE操作符、通配符和IN操作符,极大地增强了我们在SQL Server环境中对数据的检索能力。理解并熟练运用它们,能帮助我们编写出更高效、更灵活的查询,有效地管理和分析数据库中的信息...

    SQL 语法 SQL 总结 SQL教程

    SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between SQL Aliases SQL Join SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Union SQL Select Into SQL Create DB SQL Create ...

    Sqlserver2008--学习笔记(自己总结)

    ### Sqlserver2008 学习笔记精要 #### 第一章 SQL Server 基础 ##### 1....通过这些笔记,您可以深入了解 SQL Server 2008 中的基本概念、T-SQL 语句以及高级功能,帮助您更好地管理和操作数据库。

    SQL高级知识

    在SQL高级知识的学习中,我们将重点关注两个重要的概念:`TOP`子句和`LIKE`操作符。 首先,`TOP`子句是一个非常实用的功能,特别是在处理大量数据时。在SQL Server中,`TOP`子句用于从查询结果中选择前`number`条或...

    wildcard_attacks(利用SQL通配符进行DOS攻击)

    SQL Server支持以下通配符用于`LIKE`查询: - `%`:匹配任意数量的字符。 - `[]`:匹配指定范围内的单个字符。 - `[^]`:匹配不在指定范围内的单个字符。 - `_`:匹配单个字符。 例如,如果用户在搜索框中输入`'foo...

    SQL-Server与MySQL差别

    **SQL Server** 使用 `TOP` 关键字来限制查询结果的数量。例如: ```sql SELECT TOP 10 * FROM TableName; ``` 而 **MySQL** 则使用 `LIMIT` 关键字,它更加灵活,可以指定偏移量: ```sql SELECT * FROM TableName ...

    SQL语句大全--实用

    - `LIKE`运算符在`WHERE`子句中用于模糊匹配,支持通配符`%`和`_`。 - `ORDER BY`用于对查询结果进行排序,`DESC`表示降序。 - `COUNT`、`SUM`、`AVG`、`MAX`和`MIN`聚合函数分别用于计算行数、总和、平均值、...

    Sql 语句详解

    10. SQL TOP 子句 13 11. SQL LIKE 操作符 15 12. SQL 通配符 16 13. SQL IN 操作符 18 14. SQL BETWEEN 操作符 18 15. SQL Alias(别名) 19 16. SQL JOIN 20 17. SQL INNER JOIN 关键字 22 18. SQL LEFT JOIN ...

    sql模糊查询并按匹配度排序

    `LIKE`允许使用通配符进行模式匹配,从而可以灵活地处理不完全确定的查询条件。常用的通配符包括: - `%`:表示任意数量的字符(包括零个字符)。 - `_`:表示单个字符。 在实际应用中,`LIKE`通常与`%`结合使用,...

    SQL-SELECT(任明汉).doc

    - **通配符**:`*`(星号)用于表示查询所有字段,而 `%` 和 `_` 分别表示任意字符串和单个字符,主要用于 WHERE 子句中与 `LIKE` 运算符配合使用。 #### 5. 列函数 - **SQL 列函数**:如 COUNT()、SUM()、AVG() ...

    高级SQL学习资料

    在SQL中,`TOP`子句是一个非常实用的功能,它允许你在查询时限制返回的记录数量,尤其是在处理大型数据表时。在SQL Server中,`TOP`子句的语法是`SELECT TOP number|percent column_name(s) FROM table_name`,这里...

    w3school SQL教程1.0

    #### 二、SQL高级 - **SQL TOP**: - **用途**:限制结果集的行数。 - **示例**:`SELECT TOP 2 * FROM Persons;` - **SQL LIKE**: - **用途**:搜索列中的指定模式。 - **通配符**:`%`表示任意数量的字符,...

    SQL 语法入门

    - **嵌入其他语言**:SQL可以作为模块或预编译代码嵌入到其他高级语言中。 - **数据库管理**:使用SQL可以创建、修改或删除数据库及其中的对象。 - **安全控制**:SQL提供了设置权限的功能,确保数据的安全性。 ###...

    sql语句学习入门

    - 通配符用于LIKE语句中搜索列中符合特定模式的记录,常见的通配符有%(匹配任意数量字符)和_(匹配单个字符)。 - 别名(Aliases)用于为表或列指定一个临时名称,以便于理解或简化查询语句,使用AS关键字来定义...

Global site tag (gtag.js) - Google Analytics