数据库-MySQL-高级查询-IN&通配符&LIKE

本文深入解析了SQL查询中的关键技巧,包括范围查询、IN操作符的使用、空值与非空值查询、以及通配符与LIKE操作符的灵活应用,通过具体实例帮助读者掌握高效的数据检索方法。

范围查询

IN 操作符
IN 操作符允许您在 WHERE 子句中规定多个值。使用IN可以指定一个查询范围

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

IN 与 = 的异同

相同点:均在WHERE中使用作为筛选条件之一、均是等于的含义
不同点:IN可以规定多个值,等于规定一个值

in 与 = 的转换

select * from Websites where name in ('Google','菜鸟教程');

可以转换成 = 的表达:

select * from Websites where name='Google' or name='菜鸟教程';

空值查询

示例

WHERE phone IS NULL
WHERE phone IS NOT NULL

相似查询-通配符&LIKE

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

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

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

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

在 SQL 中,可使用以下通配符:
在这里插入图片描述
使用 SQL % 通配符
相似查询
在这里插入图片描述

下面的 SQL 语句选取 url 以字母 “https” 开始的所有网站:
实例

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

在这里插入图片描述
下面的 SQL 语句选取 url 包含模式 “oo” 的所有网站:
实例

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

在这里插入图片描述
使用 SQL _ 通配符
下面的 SQL 语句选取 name 以一个任意字符开始,然后是 “oogle” 的所有客户:
实例

SELECT * FROM Websites
WHERE name LIKE '_oogle';

在这里插入图片描述
%和_的区别是:%替代个或者多个字符,而 _ 仅替代一个字符

使用 SQL [charlist] 通配符
MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。

下面的 SQL 语句选取 name 以 “G”、“F” 或 “s” 开始的所有网站:

实例

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

在这里插入图片描述
下面的 SQL 语句选取 name 以 A 到 H 字母开头的网站:

实例

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

在这里插入图片描述

下面的 SQL 语句选取 name 不以 A 到 H 字母开头的网站:

实例
SELECT * FROM Websites
WHERE name REGEXP ‘[A-H]’;
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值