zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL查询不包含某个值(mysql不包含某个值)

mysql 查询 包含 某个
2023-06-13 09:11:24 时间

MySQL查询不包含某个值

在MySQL查询中,有时候需要排除掉某个特定的值,但是又不能全部过滤,该怎么实现呢?本文将介绍几种方法来达成这个目标。

方法一:使用NOT IN

NOT IN语句可以用来筛选值不在指定列表中的记录。例如,假设有一个student表,我们要排除名字为Tom的学生,可以这样写:

SELECT * FROM student
WHERE name NOT IN ("Tom");

该语句将只显示除了名字为Tom的学生之外的所有学生。我们可以在列表中指定多个值以排除多个值:

SELECT * FROM student
WHERE name NOT IN ("Tom", "Jerry");

方法二:使用NOT LIKE

NOT LIKE语句可以用来排除特定字符串匹配的记录。例如,假设有一个book表,我们要排除书名中包含 cookbook 的书籍,可以这样写:

SELECT * FROM book
WHERE title NOT LIKE "%cookbook%";

该语句将只显示书名不包含 cookbook 的所有书籍。

方法三:使用NOT EXISTS

NOT EXISTS语句可以用来筛选没有匹配结果的记录。例如,假设有一个order表和一个product表,我们要排除那些没有在product表中出现的order记录,可以这样写:

SELECT * FROM order o
WHERE NOT EXISTS ( SELECT * FROM product p
WHERE o.product_id = p.product_id);

该语句将只显示那些实际存在于product表中的order记录。

方法四:使用LEFT JOIN

LEFT JOIN语句可以连接两个表,并显示其中一个表中不存在的记录。例如,假设还是有一个order表和一个product表,我们要排除那些没有在product表中出现的order记录,可以这样写:

SELECT o.* FROM order o
LEFT JOIN product p ON o.product_id = p.product_idWHERE p.product_id IS NULL;

该语句将只显示那些实际存在于product表中的order记录。

综上所述,有多种方法可以在MySQL查询中排除掉某个值或匹配的记录。根据实际需求,选择合适的方法来实现就可以了。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL查询不包含某个值(mysql不包含某个值)