Mysql之in 小知识点

使用IN关键字检索数据表中指定的数据内容。

带IN关键字的查询

IN关键字被用在WHERE语句的后边,用来过滤你所需要查询的内容。更形象的说,IN关键字的使用情形就像点名,点到谁谁就要站出来。
在这里插入图片描述

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,…); 。
其中,括号内的数字必须为INT格式的数字。被“点到名”的这些括号里数字对应的内容,都要乖乖的站到前边来展示给大家看。

举个例子
假设我们现在有一张表Mall_products,内容如下:

在这里插入图片描述

我们会使用IN关键字检索出所有国家代码为1、86和39的商品信息。

查询代码如下:

SELECT *
FROM Mall_products
WHERE prod_country IN (1,87,39);
结果为:

在这里插入图片描述

查询过程如下:
在这里插入图片描述

Oopes! 貌似我们刚才输入了三个数字,为什么只查询到了国家代码为1和39的数据内容,87去哪里了?

因为国家代号87的内容就压根没存在过啊,仔细看看表Mall_products就知道了。

带NOT IN关键字的查询

聪明的小伙伴一看NOT就知道了,我们是要取反了。刚才我们是在查询括号中出现的内容,加了NOT取反后,就意味着,我们要查询的是除了括号中出现内容外的所有内容。

语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,…);
举个例子
我们还使用刚才的表Mall_products。现在我们想要查询除了国家代码为86的所有国家的产品内容。

查询代码如下:

SELECT *
FROM Mall_products
WHERE prod_country NOT IN (86);
结果为:

在这里插入图片描述

最后,说一下,实际开发中,尽量不要用in枚举查询。因为效率不高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值