MySQL多个条件not like

MySQL多个条件not like

MySQL多个条件not like

在使用MySQL进行数据查询时,经常会遇到需要同时排除多个条件的情况。其中,not like是一种常用的条件筛选方式,可以用于查询不匹配某些特定模式的数据。在本文中,我们将详细介绍如何在MySQL中使用not like来排除多个条件。

什么是not like

在MySQL中,like是一种用于模糊匹配字符串的操作符。它通常与%通配符一起使用,用于匹配一定模式的字符串。而not like则是like的相反操作符,用于排除匹配某一模式的数据。

实例演示

假设我们有一个名为students的表,包含了学生的姓名和年龄信息。我们希望查询出所有年龄不为18岁及其以上的学生。这时就可以使用not like来实现。

创建表

首先,我们创建一个名为students的表,并插入一些学生数据。

CREATE TABLE students (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

INSERT INTO students (name, age) VALUES ('Alice', 17);
INSERT INTO students (name, age) VALUES ('Bob', 18);
INSERT INTO students (name, age) VALUES ('Charlie', 19);
INSERT INTO students (name, age) VALUES ('David', 20);
INSERT INTO students (name, age) VALUES ('Eve', 21);

查询数据

现在,我们可以使用not like来查询年龄不为18岁及其以上的学生。

SELECT * FROM students WHERE age not like '18%';

运行上述查询语句后,将会得到如下结果:

+----+---------+-----+
| id | name    | age |
+----+---------+-----+
|  1 | Alice   |  17 |
|  3 | Charlie |  19 |
|  4 | David   |  20 |
|  5 | Eve     |  21 |
+----+---------+-----+

从结果中可以看到,只有年龄不为18岁及其以上的学生被查询出来了。

同时排除多个条件

有时候我们需要同时排除多个条件,这时可以使用not like结合andor来实现。例如,我们想查询年龄既不是18岁也不是20岁的学生。

SELECT * FROM students WHERE age not like '18%' AND age not like '20%';

运行上述查询语句后,将会得到如下结果:

+----+---------+-----+
| id | name    | age |
+----+---------+-----+
|  1 | Alice   |  17 |
|  3 | Charlie |  19 |
|  5 | Eve     |  21 |
+----+---------+-----+

从结果中可以看到,只有年龄既不是18岁也不是20岁的学生被查询出来了。

总结

通过本文的介绍,我们了解了在MySQL中如何使用not like来排除单个和多个条件。在实际应用中,可以根据需要灵活运用not like操作符,进行数据查询和筛选。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程