新闻中心

SQL 查询中如何使用 IN 和 NOT IN?

2025-09-21
浏览次数:
返回列表
IN和NOT IN用于匹配或排除字段值在列表中的记录,等价于多个OR条件组合;IN可结合子查询使用,而NOT IN需注意子查询结果含NULL时会导致无返回结果,应通过IS NOT NULL过滤NULL值以避免此问题。

sql 查询中如何使用 in 和 not in?

在 SQL 查询中,INNOT IN 用于判断某个字段的值是否在指定的值列表中,是简化多个 OR 条件的有效方式。

使用 IN 操作符

IN 可以让你在一个查询中匹配多个可能的值,等价于多个 OR 条件的组合。

例如,查找城市为北京、上海或广州的用户:

SELECT * FROM users WHERE city IN ('北京', '上海', '广州');

这条语句和下面的写法效果相同:

SELECT * FROM users WHERE city = '北京' OR city = '上海' OR city = '广州';

IN 还支持子查询,比如找出所有订单金额大于 1000 的用户的资料:

SELECT * FROM users WHERE id IN (SELECT user_id FROM orders WHERE amount > 1000);

使用 NOT IN 操作符

NOT ININ 的反向操作,用于排除指定列表中的值。

例如,查找城市不是深圳或杭州的用户:

SELECT * FROM users WHERE city NOT IN ('深圳', '杭州');

Python v2.4 中文手册 chm Python v2.4 中文手册 chm

Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。

Python v2.4 中文手册 chm 2 查看详情 Python v2.4 中文手册 chm 如果想排除某些子查询结果对应的记录,也可以结合子查询使用:

SELECT * FROM users WHERE id NOT IN (SELECT user_id FROM orders WHERE status = '已取消');

使用注意事项

使用 NOT IN 时要特别注意 NULL 值 的影响。如果子查询返回的结果中包含 NULL,整个 NOT IN 条件会返回 UNKNOWN,导致没有结果返回。

例如:

SELECT * FROM users WHERE id NOT IN (SELECT user_id FROM orders);

如果
orders
表中存在
user_id
为 NULL 的记录,那么这个查询将不会返回任何行,因为任何值与 NULL 比较都会导致结果不确定。

解决方法是显式排除 NULL 值:

SELECT * FROM users WHERE id NOT IN (SELECT user_id FROM orders WHERE user_id IS NOT NULL);

基本上就这些。IN 和 NOT IN 能让条件查询更简洁,但用 NOT IN 时务必检查子查询是否可能返回 NULL,避免意外无结果的情况。

以上就是SQL 查询中如何使用 IN 和 NOT IN?的详细内容,更多请关注其它相关文章!


# 深圳  # 江苏网站建设开发外包  # 广州工程建设信息网站  # 关键词排名怎么补起来  # 张掖抖音seo服务  # 集美区网站优化推广  # 营销推广物料设计费占比  # 曙光牙科的营销推广  # 提升产品关键词排名吗  # 通州区仪器仪表网站建设  # 湛江网站建设商家名单  # sql  # 怎么做  # 杭州  # 一本  # 北京  # 广州  # 如何使用  # 多个  # 上海  # 解决方法 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 漫蛙漫画登录站点 漫蛙2正版漫画快速访问  谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示  J*aScript动态修改指定div内所有a标签样式指南  Pandas DataFrame 多条件优先级排序与排名  PyTorch模型训练准确率不提升:诊断与修复常见指标计算错误  护手霜蹭到袖口上了如何清洗? 怎样避免留下一圈油印?  html怎么在cmd下运行php文件_cmd运行html中php文件方法【教程】  Django表单提交验证失败后保持字段值不刷新  必由学官网入口 必由学教师登录入口  MAC怎么在地图App里使用“四处看看”_MAC体验部分城市的3D实景街景  台积电1.4nm工艺A14瞄准2028:10年来性能提升80%  J*aScript中高效管理与清空动态列表:避免循环陷阱  Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略  深入理解J*aScript Promise异步执行与微任务队列  海棠电脑版入口_通过电脑访问海棠官网阅读  俄罗斯Yandex免登录入口_Yandex搜索引擎官网一键直达  使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性  qq浏览器打开空白页怎么办 qq浏览器启动后显示白屏的解决教程  EMS快递官网app_中国邮政速递物流手机客户端  Win11怎么查看电脑配置_Win11硬件配置检测工具使用  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  poki免费入口快捷访问 poki人气小游戏直接玩站点  Angular响应式表单:实现提交后表单及按钮的禁用与只读化  移动端XML文件怎么转换成Excel 手机和平板上的解决方案  qq音乐在线播放入口_qq音乐电脑版登录链接  抖音网页版怎么|直播|_抖音网页版开播操作指南  虫虫漫画精品漫画官网_虫虫漫画精品漫画官网进入精品漫画  J*a实现学校排课程序_面向对象结构化项目示例  精准捕获:如何在页面中监听除特定元素外的所有点击事件  荒野行动PC版怎么注册_荒野行动PC版账号注册详细流程图文教程  Web Components中自定义开关组件状态同步的常见陷阱与解决方案  在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明  如何更改在 Excel 中打开超链接时的默认浏览器  葱吃多了会怎样 葱吃多了会伤胃吗  如何使用纯J*aScript判断Input元素是否在特定类容器内  荣耀Play7TPro怎样在信息App置顶客服对话_iPhone荣耀Play7TPro信息App置顶客服对话【优先查看】  品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程  C++如何操作注册表_Windows平台下C++读写注册表的API函数详解  文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】  TypeScript/J*aScript:高效查找数组中首个唯一ID对象  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  漫蛙网页登录入口 漫蛙漫画官方授权网址  微博网页版首页入口 微博电脑端官网登录链接  必由学在线入口 必由学网页版快速登录入口  win11如何加载ICC颜色配置文件 Win11校色文件安装与显示器色彩管理【指南】  高德地图沿途添加点失败如何解决 高德多点规划方法  Go调试环境为何无法启动_Go调试器启动失败原因与解决策略  如何高效处理PHP中的Excel数据导入导出?PortPHP/Spreadsheet助你轻松搞定!  QQ邮箱网页版入口 QQ邮箱官方邮箱登录通道  PDF怎么合并PDF并保持格式_PDF合并文件保持排版教程 

搜索