MySQL语法解析不等于运算符实现多条件查询mysql不等于多个条件

1. 使用 NOT IN NOT IN 表示不在某个列表中,在MySQL中可以使用该关键字和子查询来实现多条件查询。如下所示:SELECT name, sex FROM t_students WHERE age NOT IN (18,19,20,21,22);运行结果如下:| name | sex | |——-|——| | Cindy | 女 | 2....
MySQL语法解析不等于运算符实现多条件查询mysql不等于多个条件
MySQL语法解析:不等于运算符实现多条件查询
在MySQL中,不等于运算符(!= 或 )常常用于查询不符合某种要求的数据。但是,如果需要查询多个条件都不满足的数据,该如何使用不等于运算符呢?本文将为大家介绍如何使用不等于运算符实现多条件查询。
示例数据:
考虑以下示例数据表 t_students :
| id | name | sex | age | height |
|—-|——-|——|—–|——–|
| 1 | Alice | 女 | 18 | 165 |
| 2 | Bob | 男 | 20 | 175 |
| 3 | Cindy | 女 | 19 | 160 |
| 4 | David | 男 | 22 | 180 |
| 5 | Eric | 男 | 21 | 170 |
要求查询年龄不是 18、19、20、21、22 中的任何一个的学生姓名和性别。
首先看到这个要求,我们可以想到使用不等于运算符来实现。但如果只使用一个不等于运算符,只能查询出一种不满足条件的情况。那么,如何同时实现多条件查询呢?
实现方式:
1. 使用 NOT IN
NOT IN 表示不在某个列表中,在MySQL中可以使用该关键字和子查询来实现多条件查询。如下所示:
SELECT name, sex
FROM t_students
WHERE age NOT IN (18,19,20,21,22);
运行结果如下:
| name | sex |
|——-|——|
| Cindy | 女 |
2. 使用 NOT EXISTS
NOT EXISTS 表示不存在满足条件的记录。使用该关键字和子查询,我们可以查询不满足多个条件的学生数据。如下所示:
SELECT name, sex
FROM t_students t1
WHERE NOT EXISTS (
SELECT 1
FROM t_students t2
WHERE t1.id = t2.id
AND t2.age IN (18,19,20,21,22)
);
运行结果如下:
| name | sex |
|——-|——|
| Cindy | 女 |
通过以上示例,我们可以看到,使用不等于运算符和子查询可以实现查询多个条件不满足的数据。同时,NOT IN 和 NOT EXISTS 操作符各自有不同的特点,具体应该怎样选择,取决于具体的业务需求。
附:代码
建表:
CREATE TABLE `t_students` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`sex` varchar(10) NOT NULL,
`age` int(11) NOT NULL,
`height` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
插入数据:
INSERT INTO `t_students` (`id`, `name`, `sex`, `age`, `height`) VALUES
(1, ‘Alice’, ‘女’, 18, 165),
(2, ‘Bob’, ‘男’, 20, 175),
(3, ‘Cindy’, ‘女’, 19, 160),
(4, ‘David’, ‘男’, 22, 180),
(5, ‘Eric’, ‘男’, 21, 170);
完整代码:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `t_students`;
CREATE TABLE `t_students` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`sex` varchar(10) NOT NULL,
`age` int(11) NOT NULL,
`height` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `t_students` (`id`, `name`, `sex`, `age`, `height`) VALUES
(1, ‘Alice’, ‘女’, 18, 165),
(2, ‘Bob’, ‘男’, 20, 175),
(3, ‘Cindy’, ‘女’, 19, 160),
(4, ‘David’, ‘男’, 22, 180),
(5, ‘Eric’, ‘男’, 21, 170);
— NOT IN
SELECT name, sex
FROM t_students
WHERE age NOT IN (18,19,20,21,22);
— NOT EXISTS
SELECT name, sex
FROM t_students t1
WHERE NOT EXISTS (
SELECT 1
FROM t_students t2
WHERE t1.id = t2.id
AND t2.age IN (18,19,20,21,22)
);
SET FOREIGN_KEY_CHECKS = 1;
总结:
本文介绍了如何使用 MySQL 不等于运算符实现多条件查询,并提供了两种实现方式:NOT IN 和 NOT EXISTS。需要特别注意的是,MySQL 中的不等于运算符有两种:!= 和 ,可以根据自己的习惯和需求选择使用。在实际应用中,可以根据具体的业务需求选择合适的方式完成多条件查询。2024-08-14
mengvlog 阅读 14 次 更新于 2025-07-20 06:46:21 我来答关注问题0
  • 首先看到这个要求,我们可以想到使用不等于运算符来实现。但如果只使用一个不等于运算符,只能查询出一种不满足条件的情况。那么,如何同时实现多条件查询呢?实现方式:1. 使用 NOT IN NOT IN 表示不在某个列表中,在MySQL中可以使用该关键字和子查询来实现多条件查询。如下所示:SELECT name, sex FR...

  •  云易网络科技 MySQL如何使用不等于运算符mysql不等于怎么打

    在MySQL中,我们可以使用不等于运算符(”!=”)来比较两个值是否不相等。下面是该运算符的语法:value1 != value2 这里的”value1″和”value2″可以是任何MySQL支持的数据类型,包括数字、字符串、日期等。如果”value1″不等于”value2...

  • MySQL中多个不等于的用法主要有使用NOT IN或!=或运算符。NOT IN的效率相对较高,但是当需要排除的值很多时,使用!=或运算符可能更方便些。大家可以根据自己的实际情况选择使用。

  • (1)不等于运算符仅能用于比较两个值是否不相等,而不能用于比较空值(null)是否不相等。此时应该使用IS NOT NULL语句来判断一个值是否为null。例如:SELECT * FROM table WHERE column1 IS NOT NULL;这会返回column1字段中不为null的所有行。(2)不等于运算符不能同时用于多个值的比较。如果需要比...

  •  翡希信息咨询 mysql不等于符号写法

    MySQL中不等于的符号写法有两种:“!=”和“”。“!=”:这是一个常用的不等于运算符,用于比较两个值是否不相等。在查询条件中,如果字段的值不等于指定的值,那么该记录会被包含在查询结果中。“”:这也是一个表示不等于的运算符,在MySQL中,它的功能和“!=”是完全相同的,可以互换使用...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部