当前位置: 代码迷 >> 综合 >> sql学习-SELECT TOP, LIMIT, ROWNUM 子句、LIKE、IN
  详细解决方案

sql学习-SELECT TOP, LIMIT, ROWNUM 子句、LIKE、IN

热度:58   发布时间:2024-02-02 05:03:28.0

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 中使用 REGEXPNOT REGEXP 运算符 (RLIKENOT 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 为 "西瓜""苹果" 的所有网站
  相关解决方案