SELECT TOP, LIMIT, ROWNUM 子句
介绍
SELECT TOP 子句用于规定要返回的记录的数目。
SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。
** notes **:
不是所有的数据库系统都支持 SELECT TOP 语句。
MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。
语法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
实例
SELECT *
FROM Store
WHERE ROWNUM <= 5;
SQL 通配符
介绍
通配符可以用于替代字符串中的任何其他字符。
在SQL中,通配符与SQL LIKE操作符一起使用。
SQL通配符用于搜索表中的数据
在SQL中,可以使用以下通配符
通配符 | 含义 |
---|---|
% | 替代0个或者多个字符 |
_ | 替代一个字符 |
[charlist] | 字符中的任何单一字符 |
[^charlist] 或 [!charlist] | 不在字符列中的任何单一字符 |
实例1
%
SELECT * FROM Store
WHERE url LIKE 'https%'
该SQL 语句选取 url 以字母 "https" 开始的所有商品。
实例2
%
SELECT * FROM Store
WHERE url LIKE '%oo%'
该SQL 语句选取 url 包含模式 "oo" 的所有商品。
实例3
_
SELECT * Store
FROM Websites
WHERE name LIKE '_gle';
该SQL 语句选取 name 以一个任意字符开始,然后是 "gle" 的所有商品。
实例4
_
SELECT * FROM Store
WHERE name LIKE 'G_o_le';
该 SQL 语句选取 name 以 "G" 开始,然后是一个任意字符,然后是 "o",然后是一个任意字符,然后是 "le" 的所有商品。
实例5
[charlist]
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。SELECT * FROM Store
WHERE name REGEXP '^[GFs]';
该 SQL 语句选取 name 以 "G"、"F" 或 "s" 为开头的所有商品:
实例6
[charlist]
SELECT *
FROM Store
WHERE name REGEXP '^[A-H]';
该SQL语句选取name以A到H字母开头的所有商品。
实例7
[^charlist]
SELECT *
FROM Store
WHERE name REGEXP '^[A-H]';
该SQL语句选取name以A到H字母开头的所有商品。
LIKE 操作符
介绍
LIKE 操作符用于在 WHERE 子句中 搜索 列中的 指定模式。
语法
SELECT *
FROM table_name
WHERE column_name LIKE pattern;
实例1
SELECT *
FROM Store
WHERE name LIKE 'S%';该SQL 语句选取 name 以字母 "S" 开头的所有客户
实例2
SELECT *
FROM Websites
WHERE name LIKE '%k';该SQL 语句选取 name 以字母 "k" 结尾的所有客户
实例3
SELECT *
FROM Store
WHERE name LIKE %ry%;该SQL 语句选取 name 包含模式 "ry" 的所有客户:
note
通过使用 NOT 关键字,您可以选取不匹配模式的记录。
实例4
SELECT *
FROM Store
WHERE name NOT LIKE %ry%;
IN 操作符
介绍
IN 操纵符允许在WHERE子句中规定多个值
语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
实例
SELECT * FROM Store
WHERE name IN ('西瓜','苹果');该 SQL 语句选取 name 为 "西瓜" 或 "苹果" 的所有网站