范围查询
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]’;

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

684

被折叠的 条评论
为什么被折叠?



