SQL LIKE与NOT LIKE操作符详解:数据库模式匹配查询完全指南
SQL LIKE操作符与NOT LIKE操作符详解
SQL LIKE是与WHERE子句一起使用的操作符,用于在某一列中搜索指定的模式。通配符是用来定义模式的特殊符号。有两个与LIKE运算符一起使用的通配符:
- %(百分号):表示零个、一个或多个字符
- _(下划线):表示单个字符

SQL LIKE语法
SQL LIKE运算符可以与任何包含WHERE子句的查询一起使用,因此我们可以在SELECT、DELETE、UPDATE等操作中使用它。
SELECT column FROM table_name WHERE column LIKE pattern;
UPDATE table_name SET column=value WHERE column LIKE pattern;
DELETE FROM table_name WHERE column LIKE pattern;
在上述SQL语法中,”pattern”是通过使用通配符来定义的匹配模式。
SQL LIKE示例
让我们通过一些例子来理解SQL LIKE语句与通配符的用法。以以下客户表为例:
客户ID | 客户姓名 |
---|---|
1 | Amit |
2 | John |
3 | Annie |
示例1:查找以字母’A’开头的客户姓名
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'A%';
输出:Amit, Annie
示例2:查找以字母’e’结尾的客户姓名
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '%e';
输出:Annie
示例3:查找以字母’A’开头且以字母’t’结尾的客户姓名
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'A%t';
输出:Amit
示例4:查找姓名中包含字母’n’的客户姓名
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '%n%';
输出:Annie, John
示例5:查找姓名中第二个位置为字母’n’的客户姓名
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '_n%';
输出:Annie
示例6:查找姓名中第三个位置为字母’i’且以字母’t’结尾的客户姓名
SELECT CustomerName FROM Customer WHERE CustomerName LIKE '__i%t';
输出:Amit
SQL NOT LIKE操作符
有时候我们想要获取不符合给定模式的记录。在这种情况下,我们可以使用SQL的NOT LIKE操作符。SQL NOT LIKE语句的语法如下所示:
SELECT column FROM table_name WHERE column NOT LIKE pattern;
UPDATE table_name SET column=value WHERE column NOT LIKE pattern;
DELETE FROM table_name WHERE column NOT LIKE pattern;
举个例子,假设我们想要获取不以‘A’开头的客户姓名列表。下面的查询将给出我们所需的结果集:
SELECT CustomerName FROM Customer WHERE CustomerName NOT LIKE 'A%';
输出:John
SQL中使用多个LIKE条件
我们可以在SQL查询中使用多个LIKE语句。例如,如果我们想要获取以’Am’和’Jo’开头的客户姓名列表,那么我们就需要像下面这样使用多个LIKE语句:
SELECT CustomerName FROM Customer WHERE CustomerName LIKE 'Am%' OR CustomerName LIKE 'Jo%';
以上就是SQL LIKE操作符和SQL NOT LIKE操作符的详细介绍和示例。