MySQL查询排除多个值的方法

当使用MySQL查询时,有时需要排除多个特定的值,下面将详细介绍如何在MySQL查询中排除多个值的方法。

MySQL查询排除多个值的方法
(图片来源网络,侵删)

使用NOT IN子句

使用NOT IN子句可以轻松地排除多个特定值,以下是一个示例:

SELECT column1, column2, ...
FROM table_name
WHERE column_name NOT IN (value1, value2, ...);

在上面的查询中,column_name是要排除的列名,value1, value2, ...是多个要排除的值,通过在NOT IN子句中列出这些值,可以排除它们并返回其他行。

单元表格示例

假设我们有一个名为students的表,其中包含以下列:id, name, age, city,现在,我们想要选择除特定城市之外的所有学生记录。

id name age city
1 Alice 20 New York
2 Bob 22 London
3 Charlie 19 Paris
4 David 21 New York
5 Emily 23 Tokyo

如果我们想选择除纽约和东京之外的所有学生记录,可以使用以下查询:

SELECT * FROM students WHERE city NOT IN ('New York', 'Tokyo');

执行上述查询后,将返回以下结果:

id name age city
2 Bob 22 London
3 Charlie 19 Paris
5 Emily 23 Tokyo

可以看到,纽约和东京的记录已被排除。

使用NOT LIKE子句和通配符

另一种排除多个特定值的方法是使用NOT LIKE子句和通配符,以下是一个示例:

SELECT column1, column2, ...
FROM table_name
WHERE column_name NOT LIKE '%value1%' AND column_name NOT LIKE '%value2%';

在上面的查询中,column_name是要排除的列名,value1, value2, ...是多个要排除的值,通过使用通配符%来匹配任意字符序列,可以排除包含这些值的行,注意,为了确保排除多个值,使用了两个NOT LIKE条件。

单元表格示例

假设我们有一个名为products的表,其中包含以下列:id, name, category,现在,我们想要选择除了特定类别之外的每个产品名称。

id name category
1 Apple Fruit
2 Banana Fruit
3 Carrot Vegetable
4 Tomato Vegetable
5 Cheese Dairy
6 Milk Dairy
7 Bread Bakery
8 Butter Bakery
9 Rice Grain
10 Noodles Grain

如果我们想选择除了水果和面包之外的每个产品名称,可以使用以下查询:

SELECT name FROM products WHERE category NOT LIKE '%Fruit%' AND category NOT LIKE '%Bakery%';

执行上述查询后,将返回以下结果:

name category
Carrot Vegetable
Tomato Vegetable
Cheese Dairy
Milk Dairy
Rice Grain
Noodles Grain

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/510988.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-04-24 04:32
下一篇 2024-04-24 04:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入