mysql怎样使用in查询


在mysql中,in常用于where表达式中,用于查询某个范围内的数据,语法为“select*from where field in(value1,value2,..)”,当in前面加not运算符时,表示与in相反不在这些列表项内选择。

mysql怎样使用in查询

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

mysql怎样使用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 的列表项以实现最终的查询结果,注意在子查询中返回的结果必须是一个字段列表项。

在in的子查询中常常会遇到查询效率太低问题,解决方法如下:

1、仍使用in子查询,多查询一次

SELECT * FROM basic_zdjbxx WHERE suiji IN ( SELECT zdcode FROM ( SELECT zdcode FROM basic_h WHERE zdcode != "" ) AS h )

2、使用LEFT JOIN

SONIFY.io SONIFY.io

设计和开发音频优先的产品和数据驱动的解决方案

SONIFY.io 83 查看详情 SONIFY.io
SELECT zd.* FROM ( SELECT DISTINCT zdcode FROM basic_h WHERE zdcode != "" ) AS h LEFT JOIN basic_zdjbxx zd ON zd.suiji = h.zdcode

三、IN 运算符补充说明

IN 列表项不仅支持数字,也支持字符甚至时间日期类型等,并且可以将这些不同类型的数据项混合排列而无须跟 column 的类型保持一致:

SELECT * FROM user WHERE uid IN(1,2,'3','c')

一个 IN 只能对一个字段进行范围比对,如果要指定更多字段,可以使用 AND 或 OR 逻辑运算符:

SELECT * FROM user WHERE uid IN(1,2) OR username IN('admin','manong')

使用 AND 或 OR 逻辑运算符后,IN 还可以和其他如 LIKE、>=、= 等运算符一起使用。

四、关于 IN 运算符的效率问题

如果 IN 的列表项是确定的,那么可以用多个 OR 来代替:

SELECT * FROM user WHERE uid IN (2,3,5)
// 等效为:
SELECT * FROM user WHERE (uid=2 OR aid=3 OR aid=5)

一般认为:

1、如果是对索引字段进行操作,使用 OR 效率高于 IN,但对于列表项不确定的时候(如需要子查询得到结果),就必须使用 IN 运算符。另外,对于子查询表数据小于主查询的时候,也是适用 IN 运算符的。

in或or在字段没有添加索引的情况下,所连接的字段越多(1 or 2 or 3 or 4 or…),or比in的查询效率低很多

推荐学习:mysql视频教程

以上就是mysql怎样使用in查询的详细内容,更多请关注其它相关文章!


# 可以用  # 佛山搜狗seo排名  # 移动宽带营销推广办法  # 广州谷歌seo营销  # 如何做网站推广雷公钻  # 江津网站建设路  # 网站设计师简历优化推荐  # 合肥建设官方网站  # 淘宝关键词如何自己排名  # 南宁邕宁区网站推广  # 360的seo规则2018最新  # mysql  # 多个  # 还可以  # 在这个  # 情况下  # 是一个  # 如何设置  # 查询结果  # 运算符  # 镜像 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  照片整理的黄金法则是怎样的? 理解“收集-筛选-归档-备份”四步流程  sublime如何自定义文件类型图标_AFileIcon插件的主题切换与个性化配置  iPhone 14 Pro如何更改区域设置_iPhone 14 Pro地区语言修改教程  word文档中的分隔符有哪些不同类型和用途_Word分隔符类型与用途方法  微信网页版在线登录 微信网页版在线使用入口  处理含命名空间的XML文件 Power Query中的高级技巧  QQ邮箱官方登录页_腾讯出品安全稳定的邮箱服务  优化 React onClick 事件处理:函数引用与箭头函数的对比  5G和6G的连接密度有什么区别 6G每平方公里能连接多少设备  Composer reinstall命令重装损坏的包  Sublime怎么配置YAML文件格式化_Sublime YAML Formatter插件教程  WPS长文档分栏排版不乱方法_WPS分栏+分节符报纸排版教程  电脑从睡眠中被自动唤醒怎么办_Windows唤醒源事件查看与禁用【解决】  《磁力猫》最好用的磁官网  Lar*el怎么实现全文搜索_Lar*el Scout集成Algolia教程  如何配置VS Code作为您Git操作的默认编辑器  搜狗浏览器如何查找页面中的文字 搜狗浏览器Ctrl+F页面搜索功能  Composer如何使用composer-plugin-api开发自定义插件  Cassandra中复合主键、二级索引与ORDER BY排序的限制与解决方案  Final Cut Pro视频加EQ教程  店铺如何做视频号推广?做视频号推广有用吗?  抖音团长模式怎么做?团长模式是什么意思?  windows10怎么开启卓越性能_windows10电源选项代码激活  《七读免费小说》开通会员方法  win11自带录屏文件保存在哪里 Win11 Game Bar录制视频默认路径【分享】  抖音怎么解除第三方绑定_抖音解除第三方平台绑定方法介绍  mysql怎么查询数据_mysql基础查询语句使用教程  如何用Golang优化微服务间请求性能_Golang 微服务请求性能优化方法  12306APP选座怎么选充电位置_12306APP带充电插座座位选择方法与技巧  windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化  139邮箱登录入口官网 139邮箱登录入口官网网址  Google Drive API 认证:服务账户与OAuth 2.0的选择与实践  SQL聚合查询、联接与筛选:GROUP BY 子句的正确使用与常见陷阱  六级准考证号怎么查_四六级准考证查询入口官网  德邦快递收费标准详解  发博客与长微博技巧  如何在CSS中使用absolute实现登录弹窗居中_transform translate结合  《崩坏:星穹铁道》3.6版本异相仲裁打法及配队推荐  西瓜视频怎么查看访客记录_西瓜视频访客记录查看方法  J*a中为什么强调组合优于继承_组合模式带来的灵活性与可维护性解析  《随手记》关闭首页消息推送方法  CDR如何复制交互式填充色  更换小红书群背景怎么换?小红书群规则怎么设置?  猫眼电影app怎么查询电影院的营业时间_猫眼电影影院营业时间查询教程  阿里云共享相册入口在哪  谷歌学术论文搜索引擎 谷歌学术官网入口论坛永久链接  为什么XML解析器对大小写敏感? 理解XML规范中的大小写规则与最佳实践  百度输入法在AutoCAD中无法输入中文怎么办_百度输入法CAD输入异常解决方法  蛙漫2(台版)正版官网 2025免费网页版分享 

 2022-01-12

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.