zgfp.net
当前位置:首页 >> sql语句 in如何限定个数? >>

sql语句 in如何限定个数?

真有10000个变量你就直接写进去或,使用exists子句 没必要分成 or id in来写,这样说不定会更慢的 或都把这些变量写到一个临时表里面,再将临时表与这个表做JOIN操作

where Column.ParentId between 52 and 59 where Column.ParentId in(52,56,59)

单个参数意思是 一个元素,跟子查询返回的结果集里每个元素比较, 多个参数的话 你可以把这一个元素理解为一个数组,然后子查询返回的结果集里的每个元素也是数组,然后相当于数组跟数组比较。

in是说在什么当中,是用在嵌套里的,具体的应用语句就是 select ... from ... where...in(select... from .... where....) 就是说在第二个查询块中查找符合第一个查询块的条件的事物.就像筛选那样.先查找出一个范围,再在其中进一步找.

解决办法,使用临时表: 第一步:创建临时表,并将in内的数据插入到表中 select * into # from (select '1' num union allselect '2' union allselect '3' union all.....select 'N') a第二步:执行in查询 select * from 表 where 列 in(select ...

查询范围在SQL语句中需要用between ...and或者>=及=2 and id

select * from 表 where 编号 in (1,2,3,4) 或者 select * from 表 where 编号=1 or 编号=2 or 编号=3 or 编号=4 这两个是同样的道理

效率太低了,还不如建一个临时表,把值都存进去做一个索引再做in查询呢

两者都能实现表功能查询,主要区别如下: 1、适用表的类型不同。 in是子查询为驱动表,外面的表为被驱动表,故适用于子查询结果集小而外面的表结果集大的情况。 exists是外面的表位驱动表,子查询里面的表为被驱动表,故适用于外面的表结果集小...

/*虽然问题已经提问蛮久了,但是刚好最近自己也遇到这个问题,就把自己的解决方法贴出来吧这个是用C#写的,原理都是一样的。*/ string kk = "tt,oo,pp"; //假设从文本框获取的值是字符串kk string[] b = kk.Split(','); //将字符串中的","除去后...

网站首页 | 网站地图
All rights reserved Powered by www.zgfp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com