MariaDB NOT-IN 运算符的用法与实例
发布于
MariaDB NOT IN
运算符用于检查某个值是否不包含在指定的值列表中。它常用于查询操作,以排除列表中的值,特别适用于需要过滤掉一组特定数据的场景。
语法
MariaDB NOT IN
运算符的语法如下:
value NOT IN (value1, value2, ..., valueN)
这里的 value
是要检查的值,而 (value1, value2, ..., valueN)
是一个值的列表。如果 value
不在这个列表中,则表达式返回 TRUE
;如果 value
在列表中,则返回 FALSE
。
实例
基本使用
假设我们要检查数字 7 是否不在列表 [1, 2, 3, 4, 5, 6] 中:
SELECT 7 NOT IN (1, 2, 3, 4, 5, 6);
以下是该语句的输出:
+-----------------------------+
| 7 NOT IN (1, 2, 3, 4, 5, 6) |
+-----------------------------+
| 1 |
+-----------------------------+
这表示数字 7 不在指定的列表中。
筛选特定记录
在 employees
表中,我们想要找出 department_id
不在 [3, 4, 7] 这三个部门中的员工:
SELECT * FROM employees WHERE department_id NOT IN (3, 4, 7);
结合子查询
我们可以结合子查询来使用 NOT IN
,例如,找出不是经理的员工:
SELECT * FROM employees WHERE id NOT IN (SELECT manager_id FROM departments);
与 IN 运算符对比
对比 IN
和 NOT IN
的结果:
SELECT 7 IN (1, 2, 3, 4, 5, 6), 7 NOT IN (1, 2, 3, 4, 5, 6);
以下是该语句的输出:
+-------------------------+-----------------------------+
| 7 IN (1, 2, 3, 4, 5, 6) | 7 NOT IN (1, 2, 3, 4, 5, 6) |
+-------------------------+-----------------------------+
| 0 | 1 |
+-------------------------+-----------------------------+
相关函数
以下是几个与 NOT IN
运算符相关的函数:
- MariaDB
IN
运算符用来检查值是否在列表中。 - MariaDB
EXISTS
用来检查子查询是否返回至少一行数据。
结论
MariaDB NOT IN
运算符是 SQL 查询中非常有用的工具,它可以帮助我们有效地排除不需要的数据。通过上述实例,我们可以看到 NOT IN
运算符在实际应用中的灵活性和便利性。无论是在复杂的查询中,还是在数据分析和处理中,NOT IN
都能提供强大的数据过滤功能。