MySQL SQL LIKE 多个值

MySQL SQL LIKE 多个值

MySQL SQL LIKE 多个值

在MySQL中,LIKE操作符用于在WHERE子句中执行模糊搜索。使用LIKE操作符可以通过匹配指定模式来检索数据库中的数据。有时候我们需要匹配多个值,这时候就可以使用LIKE操作符并结合OR运算符来实现。

本文将详细介绍如何在MySQL中使用LIKE操作符来匹配多个值,并通过示例代码演示具体的用法。

1. 简介

在MySQL中,LIKE操作符用于在WHERE子句中进行模糊搜索,可以用通配符(如%_)来匹配指定的模式。通配符%代表零个或多个字符,通配符_代表单个字符。

假设我们有一个名为students的表,包含学生的姓名和年龄两个字段。现在我们想要查询姓氏为”Zhang”或”Sunny”的学生记录,可以使用LIKE操作符来实现。

2. 使用LIKE匹配多个值

在MySQL中,可以通过使用OR运算符来实现匹配多个值的需求。以下是一个示例查询,用于查询姓氏为”Zhang”或”Sunny”的学生记录:

SELECT * FROM students 
WHERE last_name LIKE 'Zhang%' OR last_name LIKE 'Sunny%';

在上面的查询中,last_name LIKE 'Zhang%'表示匹配姓氏以”Zhang”开头的学生记录,OR运算符表示或者。last_name LIKE 'Sunny%'表示匹配姓氏以”Sunny”开头的学生记录。

students表中包含以下数据:

ID first_name last_name
1 Alice Zhang
2 Bob Sunny
3 Claire Smith
4 David Zhang

执行上述查询后,将会返回如下结果:

ID first_name last_name
1 Alice Zhang
2 Bob Sunny
4 David Zhang

3. 结合多个LIKE条件

除了使用OR运算符外,还可以通过结合多个LIKE条件来匹配多个值。以下是一个示例查询,用于查询姓氏为”Zhang”或”Sunny”的学生记录:

SELECT * FROM students 
WHERE last_name LIKE 'Zhang%' OR last_name LIKE 'Sunny%'

在上面的查询中,last_name LIKE 'Zhang%' OR last_name LIKE 'Sunny%'表示匹配姓氏以”Zhang”或”Sunny”开头的学生记录。

4. 示例代码及运行结果

以下是一个完整的示例代码,用于演示如何在MySQL中使用LIKE操作符匹配多个值:

-- 创建名为students的表
CREATE TABLE students (
    ID INT,
    first_name VARCHAR(255),
    last_name  VARCHAR(255)
);

-- 插入示例数据
INSERT INTO students VALUES (1, 'Alice', 'Zhang');
INSERT INTO students VALUES (2, 'Bob', 'Sunny');
INSERT INTO students VALUES (3, 'Claire', 'Smith');
INSERT INTO students VALUES (4, 'David', 'Zhang');

-- 查询姓氏为"Zhang"或"Sunny"的学生记录
SELECT * FROM students 
WHERE last_name LIKE 'Zhang%' OR last_name LIKE 'Sunny%';

执行上述代码后,将会返回如下结果:

ID first_name last_name
1 Alice Zhang
2 Bob Sunny
4 David Zhang

5. 总结

通过本文的介绍,我们学习了如何在MySQL中使用LIKE操作符来匹配多个值。通过结合OR运算符或多个LIKE条件,可以实现查询匹配多个值的需求。在实际开发中,根据具体的业务需求,按照以上方法来编写匹配多个值的SQL查询语句。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程