sql中in查不出数据怎么办?

SQL IN、BETWEEN 操作符 IN 操作符允许您在 WHERE 子句中规定多个值。 阅读详情

在写代码的时候突然想到一个问题,用in关键字查不出来东西怎么办? sql报错怎么办?

我在生产环境中用了如下的代码:

select  * from cons_account where id in ( select cons_id from meter where run_status_code = '3' )
我想,如果in中的语句没有查出来东西,报错了怎么办?这么写合不合适?

自己试着在数据库写了一下:

 select  * from cons_account where id in (  )

果然报错:> 错误:  语法错误 在 ")" 或附近的
LINE 1: select  * from cons_account where id in (  )

但是在生产环境中确认in中的sql查不出数据来也没有报错, 但是自己在数据库试了确实报错,这是怎么回事?

结论: 在in中用select查出来没有数据和在 in ()的括号中不写东西是两回事情。

在in()的括号中不写东西, 是语法错误。

而在in中的select 语句查不出结果来,实际返回的结果是null。

也就是说,哪怕select 查不出结果,实际的sql应该是这样的:

select  * from cons_account where id in ( null )

这样的sql等价于:

select  * from cons_account where id = null

这样的sql语句是没有问题的。
 

SQL查询IN条件数据加工与实战处理 SQL中的IN条件支持多种数据类型的值,但这些值必须符合SQL语法规则。合法值的格式定义如下:数值型:如1003.14。字符串型:必须用单引号包裹,如'apple'。NULL值:使用NULL表示空值。子查询表达式:如。假设我们有一个名为的命令行工具,其功能包括:读取CSV文件清洗数据(去重、转义、过滤非法字符)输出符合SQL语法的IN条件字符串。 阅读详情

相关推荐

别再手动写JSON了!用Node-RED OPC UA节点5分钟搞定楼宇温湿度数据采集

本文介绍了如何利用Node-RED和OPC UA节点快速实现楼宇温湿度数据的自动化采集与JSON格式转换。通过可视化工具Node-RED,开发者无需编写复杂代码,5分钟内即可完成从传感器到数据输出的全流程配置,大幅提升智慧楼宇和工业物联网项目的实施效率。

weixin_30368405的博客 431

sql中in后面元素过多导致索引失效解决方案

可以使用临时表,也可以分片查询。

qq_42900213的博客 1285

别再死磕U-Net了!用PyTorch手把手教你搭建ResUnet,搞定医学图像分割(附完整代码)

本文详细介绍了如何利用PyTorch搭建ResUnet模型,通过引入残差连接解决医学图像分割中的梯度消失、特征退化和细节丢失问题。与传统U-Net相比,ResUnet在Dice系数和收敛速度上均有显著提升,特别适合处理脑部MRI等复杂医学图像。文章还提供了完整的代码实现和关键训练技巧,帮助开发者快速掌握这一先进技术。

weixin_42552637的博客 326

JDBC的SQL中使用IN,参数不确定

假定参数为: Int[] objs; ...... StringBuffer sql = new StringBuffer(); sql.append("select * from table where id in("); for (int i=0; i<objs.length; i++)     (i == objs.length-1) ? sql.append("?)") :...

weixin_34088838的博客 532

机械设计师必看:如何用Autodesk Inventor高效完成钣金设计(附实战案例)

本文为机械设计师详细解析了如何利用Autodesk Inventor Professional高效完成钣金设计。文章通过一个钣金防护罩的实战案例,系统介绍了从核心设计逻辑、建模流程、参数化技巧到工程图输出的完整工作流,旨在帮助设计师掌握智能化的设计方法,显著提升从概念到制造的设计效率与准确性。

honey的博客 1180

从零部署DeepSeek V4 Flash:NVIDIA DGX Spark实战指南

GPU加速计算已成为现代人工智能基础设施的核心,其原理是通过并行处理架构大幅提升深度学习模型的训练与推理效率。在AI工程实践中,NVIDIA GPU凭借CUDA生态和专用驱动栈,为大规模语言模型部署提供了硬件基础。本文聚焦于企业级AI服务器部署场景,针对NVIDIA DGX Spark多节点系统的硬件初始化、驱动兼容性配置、容器化部署等关键环节,提供从系统层到应用层的完整解决方案。通过vLLM推理框架的实战配置,演示如何将DeepSeek V4 Flash模型高效部署于多GPU环境,涵盖Tensor Par

weixin_32296621的博客 373

SQL语言的数据查询之嵌套查询

在SQL语言中,一个SELECT-FROM-WHERE语句被称为一个查询块。将一个查询块嵌套在另外一个查询块的WHERE子句或者HAVING短语的条件中的查询被称为嵌套查询。上层的查询块称为外层查询或父查询,下层的查询被称为内层查询或子查询。

tester Xclincer的博客 3474

三菱FX3U PLC红绿灯ST编程实战:从基础逻辑到急停功能完整实现

本文以十字路口红绿灯控制为例,详细讲解了三菱FX3U PLC使用ST编程的完整实战过程。内容涵盖从基础时序逻辑、状态机设计,到急停功能、黄灯闪烁、昼夜模式切换等高级功能的实现,并提供了代码优化与调试技巧,帮助工程师掌握结构化文本在工业控制中的清晰、结构化应用。

weixin_29070861的博客 532

解决SQL查询,in条件参数为带逗号的字符串而导致查询结果错误

总结一下之前开发中遇到的小问题。。。 问题描述:前端页面传参一个数组,而通过SpringMVC框架将数组自动转换了,如页面传参为[1,2,3],框架转换成“1,2,3”这样的字符串,所以我直接在sql中条件中拼接的in查询,写成in ( + 参数值 +)这种,然而sql执行的结果并不是我们想要的结果,如参数中“1,2,3”,他总是只查询出了1,没有查询出2和3。 问题原因: 在MySQL中i...

H_233的博客 6280

xilinx vivado 设置多核多线程加快综合、布局布线、仿真速度的方法

加快vivado布局布线速度的多核编译方法 在tcl中执行下面的语句 set param general.maxThreads n来设置,n是你的CPU线程数。 在设置之后你可以通过get_param general.maxThreads 指令来确认是否成功设置, 加快vivado综合速度的多核编译方法 操作方法与上面加快布局布线的方法一样。 实际发现效果并不是很明显,官方论坛中提到只有在LINUX上才能发挥8核以上的效能,而且8核以上的效能提升并不明显。 加快vivado仿真.

shawn的FPGA圈 2万+

构建基于知识图谱的金融风险关联网络

在金融领域,风险的识别和管理至关重要。传统的风险分析方法往往只能处理单一维度的数据,难以全面捕捉金融市场中复杂的风险关联关系。构建基于知识图谱的金融风险关联网络的目的在于整合多源异构的金融数据,通过知识图谱的方式清晰地展示金融实体之间的复杂关系,从而更准确地识别潜在的金融风险,为金融机构的风险管理决策提供有力支持。本项目的范围涵盖了从金融数据的收集、预处理,到知识图谱的构建,再到金融风险关联网络的搭建和分析。

SuperAGI2025 1418

mysql 中in语句传参是字符串的解决方法

mysql使用in的时候,如果参数是字符串的话,因为不做任何处理,是会被当成一个值,而不是按照‘,’分割,使用mysql自带函数FIND_IN_SET可以解决这个问题,用法如下: select * from table_name a left join cluster b on FIND_IN_SET(a.id , str) 第一个参数是匹配in的字段,第二个是匹配的值 如:FIND_IN...

lip86的专栏 2359

PyTorch强化学习实战(1)——强化学习(Reinforcement Learning,RL)详解

在本节中,开始进入探索强化学习 (Reinforcement Learning, RL) 之旅,首先剖析了强化学习的独特之处及其与监督学习、无监督学习范式的关系。随后系统学习了强化学习的基础形式化框架及其内部关联机制,并深入讲解了马尔可夫过程 (Markov Process, MP)、马尔可夫奖励过程 (Markov Reward Process, MRP) 和马尔可夫决策过程 (Markov Decision Process, MDP),为后续学习奠定基础。

盼小辉丶的博客 2050

SQL中not in 查不出数据

select uid, `name` from cars_info_collection_new where `code` not in (select mc_id from car_original_category ); 用这句话一直查不出数据, select uid, `name` from cars_info_collection_new where not exists (select mc_id from car_original_category where mc_id=`code`).

wang_nian的博客 1241

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

sql 中 not in 或者 not exists 查不出数据

可能原因:B表中存在NULL值 例子: 1、查不出数据 not in select name from a where name not in (select distinct name from b )   not exists  select name from a where  not exists (select distinct name from b  ) 

cwrygr的博客 3224

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

mybatis使用in时查不出数据,但是复制日志中的sql可以查到

问题前提:偷懒不用foreach 直接 将参数拼接为 (xxxx,xxxxx,xxxxx) 再传入mybatis的方法中 这样听说是mybatis识别不出 解决方法:好好的用foreach遍历参数数组

u011461071的博客 772

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

not in 和 not exists的区别

在使用not in时,要注意NULL值。 当试着使用 NOT IN 子句查询检索存在于 DEPT表却不存在于NEW_DEPT表的DEPTNO ,会出现查不出数据。 select * from dept where deptno not in (select deptno from new_dept) deptno 为20、30和40的数据虽然不在new_dept表中,却没有被查询到。原...

西域传说 1790

SQL 查询尽量避免使用 IN 和 NOT IN

在编写 SQL 语句的时候大部分开发人员都会用到 IN 和 NOT IN 来辅助查询多个内容,例如查询 包含在 b 表中的 a 表数据,通常会这么来编写语句: select * from a where id in (select aid from b) 这么写看似没错但世界上存在两个问题:效率低下、查询结果有误,下面我就来说一说。 效率低下 这里以 NOT IN 为例子,有这样一个要求,存在两个表 a 和 b 这两个表的数据都在 10 万条以上,需要查出来身份证号只存在于 a 表但不存在于 b 表的数据

喵叔 2145

SQL优化 —— in与not in

文章从三方面介绍:查询集合,查询出错率,查询效率。总结出两点: in后的查询集合不确定 例如in (select…),应判断内查询与外查询的关系。当内查询的表小时(小于外查询的表),用in效率高。当外查询的表小时(小于内查询的表),用exists效率高。(因为in 先执行内查询,再执行外查询;而 exists先执行外查询再执行内查询) in后的查询集合是确定且有限 集合内的值连续时,应尽可能使用...

张之海的博客 2万+

SQL中的in、not in语句遇到null时的坑点

背景介绍 前两天做问题排查的时候,写了一条sql,但是并没有如期地查到数据(确实是有数据的),SQL如下: SELECT tar.* FROM tb_account_relation tar WHERE tar.customer_id NOT IN ( SELECT customer_id FROM TB_SMS_SEND_DETAIL WHERE TYPE = '2' ) ...

shenzhou_yh的博客 2万+

SQL 中 IN 和 NOT IN 用法的那些事

不要乱用 in好not in。

草原孤狼的专栏 2729

sql in not in_SQL IN – SQL NOT IN

sql not in inSQL IN operator is used along with WHERE clause for providing multiple values as part of the WHERE clause. SQL IN运算符与WHERE子句一起使用,以提供多个值作为WHERE子句的一部分。 1. SQL输入 (1. SQL IN) SQL IN operato...

从零开始的教程世界 1003

oracle not in 查不出数据

在oracle中,sql语句如下: select * from xa_ajxx where ajxx_uuid not in (select ajxx_uuid from sl_zdajbgxq ) 却查不出应有的数据,查询结果为空。 原因是 sl_zdajbgxq中存在着ajxx_uuid为空的数据。导致not in无法查出数据。 改成用not exists即可 sele

bossin2014的专栏 4625

SQL语句中in条件超过1000怎么办?

博客主页: 南来_北往系列专栏:Spring Boot实战当遇到SQL语句中IN条件超过1000个的情况时,可以采取以下几种策略来有效处理这一问题:使用临时表:将IN列表中的值存储在临时表中,并将该临时表与查询表进行JOIN操作。这种方法的好处是不会因为参数很多导致SQL语句过长,提升了SQL的易读性,并且有利于提升SQL的性能。使用子查询:通过子查询的方式来处理,将IN列表放到子查询中,再与主查询表进行JOIN操作。分组IN条件:将条件值分成多个小组,每组作为IN子句的多个值,使用OR连接各个小组

2301_76419561的博客 3728

sql in里面可以放多少参数_SQL基础知识——IN运算符

IN的作用IN运算符允许您在WHERE子句中指定多个值。IN运算符是多个OR条件的简写。IN的语法SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...);或者SELECT column_name(s) FROM table_name WHERE column_name IN (SELECT S...

weixin_39625782的博客 6024

SQL中in和not in

SQL中in的用法 IN和NOT IN IN 和NOT IN 都属于确定集合的一种; IN用来查找属性值属于指定集合的元组; NOT IN 用来查找属性值不属于指定集合的元组。 IN 例:查询计算机科学系(CS)、数学系(MA)、信息系(IS)学生的姓名和性别。 select Sname,Ssex from Student Where Sdept in('CS','MA','IS'); 有的题中的IN可以用多个OR来代替,比如这道题也可以写成这种形式: select Sname,Ssex From St

weixin_45867259的博客 2万+
上一篇: 一次性解决xls 格式文件导入问题,区别对待-XSSFWorkbook 和 HSSFWorkbook
下一篇: json_object_agg 的用法
libingbojava
博客等级 码龄9年 64粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值