mysql id不等于多个值_MySQL选择ID,它出现在具有列的多个特定值的不同行上

我正在尝试从一个关联表中选择满足两个或多个相同字段值的项目,听起来令人困惑,让我解释一下.

+-----------------------+

| item_id | category_id |

+-----------------------+

| 1 | 200 |

| 1 | 201 |

| 1 | 202 |

| 2 | 201 |

| 2 | 202 |

| 3 | 202 |

| 3 | 203 |

| 4 | 201 |

| 4 | 207 |

+-----------------------+

在表格中,我希望只能选择我传递的类别中的项目.因此,例如,如果我传递201和202的类别ID,我只想要两个类别的项目(它们可以有其他类别,但至少需要在我查询的类别中),所以在这种情况下,我只想要第1项和第2项,因为它们是201和202类别中唯一的项目.

我最初的SQL语句是这样的

SELECT * FROM item_category WHERE category_id = 201 AND category_id = 202;

但显然这不起作用.

SELECT * FROM item_category WHERE category_id = 201 OR category_id = 202;

上述查询也不起作用,因为它也会返回第4项和第3项.

那么我怎样才能选择至少必须属于这两个类别的项目呢?

请记住,我可能会传递超过2个类别ID.

感谢您的帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用`IS NOT NULL`进行查询。例如: ``` SELECT * FROM table_name WHERE column_name IS NOT NULL; ``` 其中`table_name`为表名,`column_name`为名。 ### 回答2: 在MySQL中,我们可以使用IS NOT NULL来查询不等于NULL的。 使用IS NOT NULL的查询语句如下: SELECT * FROM 表名 WHERE 名 IS NOT NULL; 例如,假设我们有一个名为student的表,其中有一个名为age。我们想查询出age不为NULL的所有记录,可以使用以下查询语句: SELECT * FROM student WHERE age IS NOT NULL; 执行以上查询语句后,MySQL将返回所有age不为空的记录。 注意,IS NOT NULL用于检查某个是否不为NULL。如果我们希望检查是否存在某个,而不是其是否为NULL,可以使用EXISTS运算符。 总而言之,使用IS NOT NULL可以方便地查询不等于NULL的,使我们能够更精确地检索数据。 ### 回答3: 在MySQL中,要查询不等于null的数据,可以使用IS NOT NULL运算符。IS NOT NULL运算符用于检查一个是否不是null。具体的查询语句如下: SELECT * FROM 表名 WHERE 名 IS NOT NULL; 其中,表名是要查询的表的名称,名是要查询的的名称。上述语句将返回所有的数据,但是只包括该不为null的数据行。 例如,假设有一个名为students的表,包含name和age两。要查询不等于null的age的数据行,可以使用以下语句: SELECT * FROM students WHERE age IS NOT NULL; 以上查询将返回students表中age不为null的所有数据行。 使用IS NOT NULL运算符可以方便地查询不等于null的数据,以便满足特定的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值