问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在Mysql5.0 中In 用法的疑惑

发布网友 发布时间:2022-04-23 02:55

我来回答

3个回答

热心网友 时间:2022-04-11 05:37

select arrchild from B 的查询结果是一条记录内容是一字符串(1,2,35,5)
这种情况下,

执行
SELECT * FROM A where A.bigclass in(select arrchild from B)
相当于执行
SELECT * FROM A where A.bigclass in( '1,2,35,5' )
结果肯定是没有。

假如你的
select arrchild from B 的查询结果是
1
2
35
4
这样的 4 行数据。
那么
SELECT * FROM A where A.bigclass in(select arrchild from B)
就等价于
SELECT * FROM A where A.bigclass in(1,2,35,5)

如果
select arrchild from B 的查询结果是一条记录内容是一字符串(1,2,35,5)
又要实现
SELECT * FROM A where A.bigclass in(1,2,35,5) 的效果。

一个变通的办法是:
SELECT * FROM A
where
INSTR ( CONCAT ( ',' , (select arrchild from B) , ',' ),
CONCAT (',' , A.bigclass , ',' ) ) > 0追问啊,我明白了
SELECT * FROM A where A.bigclass in(1,2,35,5) 这里面的(1,2,35,5) 相当于多个值。
而(select arrchild from B 的查询结果有且只有一条记录且内容是就是 "1,2,35,5")相当于一个值。

热心网友 时间:2022-04-11 06:55

使用的时候他会将select arrchild from B查询出来的每条记录当做一个整体
SELECT * FROM A where A.bigclass in(select arrchild from B) 这个相当于
SELECT * FROM A where A.bigclass in( ‘1,2,35,5’ ) ----所以查不出来
------------------------------
arrchild
1,2,35,5
------------------------------

想要下面的结果,
select arrchild from B这个查询出来的结果要是这样的
----------------------------------------
arrchild
1
2
35
5
----------------------------------------追问注:select arrchild from B 的查询结果有且只有一条记录且内容是就是 "1,2,35,5"

热心网友 时间:2022-04-11 08:30

不是查不到,应该是速度很慢。如果可以的话尽量使用=来代替in语句,myql的in语句貌似没有优化过,效率很低的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
同济大学哪些专业很好? 同济有哪些专业 有仙侠红包助手这东西?我看广告里面的支付宝和微信都是有这样的所谓用... 怎样点亮3366小游戏的QQ图标 波导苹果手机SHMA A90+点击碎萍的小游戏怎么弄出来的,还有怎么变换图标... 小游戏显示不出来,左上角有一个手机的图标 黑屏 ...出现了一竖列的小游戏图标。我一按下图标,就下载小游戏。怎么删除卸... 如何看待谷爱凌是intj? 谷爱凌曾在采访中透露自己的MBTI是INTJ,这种性格的特征什么特点? ...的是旺铺版本:扶植版。请问促俏区尺寸、宝贝分类尺寸是多大? 注明... MySQL的FIND_IN_SET函数使用方法分享 MYSQL 查询语句中in的用法 mysql查询中in和多个or的区别 mysql查询in为什么用不上索引 mysql中on,in,as,where如何用,意思是什么? 在mysql查询中,"="和"in"在什么情况下作用相同 mysql in 会使用索引吗 MySql的in语句有什么用? mysql数据库中的存储过程中的in和out是什么 mysql查询 怎么使用 in 五年级下册语文第四单元作文600字现在就要真实的 博客原义是什么? 史铁生是谁 我想学C++!!! 2010国庆见闻 作文 能套用所有主题的作文 以"读书使人.……"为题写一篇6oo字作文 三年级作文”新来的语文老师"1oo字怎么写? 南京艺术学院播音播音怎么招生? 作文一个让我——的日子(急急急急急) mysql百万数据查询 用什么代替in,该如何处理 MYSQL中的IN问题 mysql 用 in 遍历的问题 Mysql数据库中FIND_IN_SET();在HIbernate中怎么使用。比如,如何传参... mysql IN OUT 参数 加法 数据库中in函数可以用什么代替 mysql中not in怎么使用? sql中的not in语句怎样用mysql表示 猴头菇不能和什么一起吃 猴头菇的饮食禁忌 猴头菇与哪些食物相克? 猴头菇能和鸡蛋一起吃吗? 猴头菇不能和什么一起吃 猴头菇不能与哪些食物一起吃? 猴头菇可以和萝卜一起炖汤吗? 猴头菇配什么菜好吃 猴头菇可以和什么一起炖汤 猴头菇和什么一起煲汤养胃比较好呢 猴头菇与什么食物一起食用养胃最好 猴头菇配什么菜炒着吃 猴头菇不能与什么同食