mysql的select语句中in的用法是什么

mysql中,select语句内in常用于where表达式中,其作用是查询某个范围内的数据,in查询的范围数据并不一定是明确的,可能会包含子查询语句,语法为“select * from where...in(范围数据或者子查询语句)”。

mysql的select语句中in的用法是什么

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql的select语句中in的用法是什么

一、基础用法

mysql中in常用于where表达式中,其作用是查询某个范围内的数据。

select * from where field in (value1,value2,value3,…)

当 IN 前面加上 NOT 运算符时,表示与 IN 相反的意思,即不在这些列表项内选择

select * from where field not in (value1,value2,value3,…)

二、IN 子查询

更多情况下,IN 列表项的值是不明确的,而可能是通过一个子查询得到的:

SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=0)

在这个 SQL 例子里,我们实现了查出所有状态为 0 的用户(可能是被禁止)的所有文章。首先通过一个查询得到所有所有 status=0 的用户:

SELECT uid FROM user WHERE status=0

然后将查询结果作为 IN 的列表项以实现最终的查询结果,注意在子查询中返回的结果必须是一个字段列表项。

示例:查询book表中id为2和4的所有数据:

有book数据表,内容如下:

17.png

查询语句和查询结果见如下图示:

18.png

推荐学习:mysql视频教程

以上就是mysql的select语句中in的用法是什么的详细内容,更多请关注其它相关文章!