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

程序员必备接口测试调试工具:立即使用

Apipost = Postman + Swagger + Mock + Jmeter

Api设计、调试、文档、自动化测试工具

后端、前端、测试,同时在线协作,内容实时同步

本教程操作环境: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的用法是什么的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:mysql
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    后端、前端、测试,同时在线协作,内容实时同步

    支持grpc,http,websocket,socketio,socketjs类型接口调试

    https://www.php.cn/mysql-tutorials-490609.html

    最后修改日期: 2022-09-28

    留言

    撰写回覆或留言

    发布留言必须填写的电子邮件地址不会公开。