11.3 SQL语句2

###11.3

五、SELECT TOP 子句

用于规定要返回的记录的数目

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

###注意:并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。

SQL Server / MS Access 语法

SELECT TOP number/percent column_name(s) FROM table_name;

MySQL 语法

SELECT column_name(s) FROM table_name LIMIT number;

Oracle 语法

SELECT column_name(s) FROM table_name WHERE ROWNUM <= number;

eg. "Websites" 表中选取头两条记录

SELECT * FROM Websites LIMIT 2;

运行结果

调取后两行

SELECT * FROM Websites order by id desc LIMIT 2;

运行结果

六、LIKE 操作符

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

语法

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;

eg. 选取 name 以字母 "G" 开始的所有网站

SELECT * FROM Websites WHERE name LIKE 'G%';

运行结果

##"%" 符号用于在模式的前后定义通配符(默认字母)

选取 name 以字母 "k" 结尾的所有客户

SELECT * FROM Websites WHERE name LIKE '%k';

运行结果

选取 name 包含模式 "oo" 的所有客户

SELECT * FROM Websites WHERE name LIKE '%oo%';

运行结果

通过使用 NOT 关键字,可以选取不匹配模式的记录。

下面的 SQL 语句选取 name 不包含模式 "oo" 的所有客户

SELECT * FROM Websites WHERE name NOT LIKE '%oo%';

运行结果 

通配符

通配符可用于替代字符串中的任何其他字符。

SQL 中,通配符与 LIKE 操作符一起使用。

SQL 通配符用于搜索表中的数据。

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

通配符

描述

%

替代 0 个或多个字符

_

替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]

[!charlist]

不在字符列中的任何单一字符

使用  % 通配符

选取 url 以字母 "https" 开始的所有网站:

SELECT * FROM Websites WHERE url LIKE 'https%';

运行结果 

选取 url 包含模式 "oo" 的所有网站:

SELECT * FROM Websites WHERE url LIKE '%oo%';

SELECT * FROM Websites WHERE url LIKE '%oo%';

运行结果

使用  _ 通配符

选取 name 以一个任意字符开始,然后是 "oogle" 的所有客户:

SELECT * FROM Websites WHERE name LIKE '_oogle';

运行结果

选取 name "G" 开始,然后是一个任意字符,然后是 "o",然后是一个任意字符,然后是 "le" 的所有网站:

SELECT * FROM Websites WHERE name LIKE 'G_o_le';

运行结果

使用  [charlist] 通配符

MySQL 中使用 REGEXP NOT REGEXP 运算符 ( RLIKE NOT RLIKE) 来操作正则表达式。 

eg 选取 name "G""F" "s" 开始的所有网站:

SELECT * FROM Websites WHERE name REGEXP '^[GFs]';

运行结果

eg 选取 name A H 字母开头的网站

SELECT * FROM Websites WHERE name REGEXP '^[A-H]';

运行结果

选取 name 不以 A H 字母开头的网站:

SELECT * FROM Websites WHERE name NOT REGEXP '^[A-H]';
或
SELECT * FROM Websites WHERE name REGEXP '^[^A-H]';

七、IN 操作符

IN 操作符允许在 WHERE 子句中规定多个值。

语法

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...);

eg 选取 name "Google" "菜鸟教程" 的所有网站:

SELECT * FROM Websites WHERE name IN ('Google','菜鸟教程');

运行结果

 11.3 我觉得效率有点低

希望明天继续加油!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值