MySQL查询不包含多个元素(mysql不包括多个元素)

MySQL查询不包含多个元素

在MySQL中,我们经常需要查询包含一些特定元素的数据。但是,有时候我们需要查询不包含某些元素的数据。在这种情况下,我们可以使用NOT IN语句来实现该功能。

语法

NOT IN语句用于获取不包含特定元素的数据。其语法如下:

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

我们可以将多个值作为参数传递给NOT IN语句,以获取不包含这些值的数据。例如,以下查询将检索不包含Apple、Banana和Mango的所有记录:

SELECT *
FROM fruits
WHERE name NOT IN ('Apple', 'Banana', 'Mango');

在此示例中,我们将SELECT语句的结果集限制为仅包含不包含这些值的记录。该查询将返回除Apple、Banana和Mango之外的所有水果。

如果我们想要检索不包含多个值的数据,我们可以多次使用NOT IN语句。例如,以下查询将检索不包含Apple、Banana和Mango以及Pineapple和Orange的所有记录:

SELECT *
FROM fruits
WHERE name NOT IN ('Apple', 'Banana', 'Mango')
AND name NOT IN ('Pineapple', 'Orange');

在此示例中,我们组合了两个NOT IN语句来获取不包含所有这些值的记录。

代码示例

为了更好地理解NOT IN语句的使用,下面是一个简单的MySQL数据库示例。

我们创建了一个名为`fruits`的表:

“`sql

CREATE TABLE fruits (

id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(50) NOT NULL,

price DECIMAL(10, 2) NOT NULL

);


我们向表中添加了一些数据:

```sql
INSERT INTO fruits(name, price)
VALUES('Apple', 1.50), ('Banana', 0.99), ('Cherry', 2.00), ('Mango', 2.50), ('Pineapple', 3.00), ('Orange', 1.25);

然后,我们可以查询不包含Apple、Banana和Mango的所有记录:

“`sql

SELECT *

FROM fruits

WHERE name NOT IN (‘Apple’, ‘Banana’, ‘Mango’);


该查询将返回以下结果:

+—-+———+——-+

| id | name | price |

+—-+———+——-+

| 3 | Cherry | 2.00 |

| 4 | Mango | 2.50 |

| 5 | Pineapple | 3.00 |

| 6 | Orange | 1.25 |

+—-+———+——-+


我们可以查询不包含Apple、Banana、Mango、Pineapple和Orange的所有记录:

```sql
SELECT *
FROM fruits
WHERE name NOT IN ('Apple', 'Banana', 'Mango')
AND name NOT IN ('Pineapple', 'Orange');

该查询将返回以下结果:

+----+---------+-------+
| id | name | price |
+----+---------+-------+
| 3 | Cherry | 2.00 |
+----+---------+-------+

结论

通过使用NOT IN语句,我们可以方便地查询不包含多个元素的数据。这对于选择特定类别之外的商品或客户非常有用。NOT IN语句也可以与其他查询语句一起使用,以更好地实现数据挖掘和数据分析。


数据运维技术 » MySQL查询不包含多个元素(mysql不包括多个元素)