问答文章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语句貌似没有优化过,效率很低的
在Mysql5.0 中In 用法的疑惑

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 的查询...

MySQL无法命中主键,我使用了in,参数个数也就一百多个。MySQL版本5.5

应该是说,你的in中的参数值,可能占到大多数的数据,比如 80%,那么根据统计信息判断,使用索引与全表扫描 没有什么区别的时候,就可能不用主键索引。

mysql 中 in的用法有哪些?

1.in 后面是记录集,如:select * from table where uname in(select uname from user);2.in 后面是字符串,如:select * from table where uname in('aaa',bbb','ccc','ddd','eee',ffff'');注意:这里一定要将字符串用单引号'' 标注起来;3.in 后面是数组,...

mysql查询in为什么用不上索引

1.mysql查询in用不上索引,说明查询语句本身有问题。2.MySQL是查询语句,最好用Access 2010来操作。3.查询是用来操作数据库中的记录对象,利用它可以按照预先定义的不同条件从数据表或其它查询中筛选出需要操作的字段,并可以把它们集中起来,形成动态数据集。用户可以浏览、查询、打印,甚至修改这个动态数...

mysql in是什么意思?

MySQL中的IN是一种操作符,用于指定查询条件中所需数据的范围。它可以将查询条件与数据列表一起使用,以返回在指定列表中的任何一行。IN操作符可以与WHERE和HAVING语句一起使用,常用于select语句中作为过滤器,以便能够在查询结果中查找属于特定值或集合的行。使用IN操作符是很方便的,可大大减少复杂的...

mysql查询 怎么使用 in

一般典型有两种用法:一是IN常量,例如下面语句查询一、三年级的学生:SELECT FROM student WHERE grade IN ('一','三');二是使用子查询,也就是IN(SQL语句),例如下面的语句查询不及格的班级的所有学生:SELECT FROM student WHERE classno IN (select classno from scores where score<60 );

mysql查询 怎么使用 in

in作为查询条件,一般典型有两种用法:一是IN常量,例如下面语句查询一、三年级的学生:SELECT * FROM student WHERE grade IN ('一','三');二是使用子查询,也就是IN(SQL语句),例如下面的语句查询不及格的班级的所有学生:SELECT * FROM student WHERE classno IN (select classno from scores ...

mysql查询语句in和exists二者的区别和性能影响

2:select * from B where cc in (select cc from A) 效率高,用到了B表上cc列的索引;select * from B where exists(select cc from A where cc=B.cc) 效率低,用到了A表上cc列的索引。not in 和not exists如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;而not ...

mysql查询语句in和exists二者的区别和性能影响

性能影响的话,这个是没有固定那一个好,要针对自身条件来使用。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。 如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in: 例如:表A(小表),表B(大表)1:sele...

mysql in 会使用索引吗

MySQL中使用IN会不会走索引 文章很短,先看下结论,在看下文。结论:IN肯定会走索引,但是当IN的取值范围较大时会导致索引失效,走全表扫描 navicat可视化工具使用explain函数查看sql执行信息 场景1:当IN中的取值只有一个主键时 我们只需要注意一个最重要的type 的信息很明显的提现是否用到索引:type...

in表示用的用法 enjoy的用法 inhon的用法 an的用法 a和an的用法 on的所有用法 bring的用法 ⅰn的用法 to的用法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
没有房产证怎么过户给子女 一兆瓦的光伏一天能发多少电 盐田区租房贵吗 韩电空调是什么牌子的啊? 兰州玛雅房屋中介有限公司公益事业 血液垃圾的危害清除血液垃圾的方法 诸暨市暨阳初中校长是谁 告诫谈话只有谈话人发言可以吗 集体谈话能转述代签人吗 老婆进待产房4个小时之后,医生出来让我拿护垫,是个什么情况。是... 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表示 猴头菇不能和什么一起吃 猴头菇的饮食禁忌 猴头菇与哪些食物相克? 猴头菇能和鸡蛋一起吃吗? 猴头菇不能和什么一起吃 猴头菇不能与哪些食物一起吃? 猴头菇可以和萝卜一起炖汤吗? 猴头菇配什么菜好吃 猴头菇可以和什么一起炖汤 猴头菇和什么一起煲汤养胃比较好呢 猴头菇与什么食物一起食用养胃最好 猴头菇配什么菜炒着吃 猴头菇不能与什么同食