SQL LIKE与NOT LIKE操作符详解:数据库模式匹配查询完全指南

SQL LIKE操作符与NOT LIKE操作符详解

SQL LIKE是与WHERE子句一起使用的操作符,用于在某一列中搜索指定的模式。通配符是用来定义模式的特殊符号。有两个与LIKE运算符一起使用的通配符:

  • %(百分号):表示零个、一个或多个字符
  • _(下划线):表示单个字符
sql like operator

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操作符的详细介绍和示例。

bannerAds