当使用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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复