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

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_id
WHERE p.product_id IS NULL;

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

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

我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
沟通购买:QQ咨询 淘宝咨询 微信咨询 淘宝店铺
版权申明及联系
本站文章参考或来源于网络及部分网络投稿,如有侵权请联系站长。本站提供相关远程技术服务,有需要可联系QQ
数据运维技术 » MySQL查询不包含某个值(mysql不包含某个值)