不用like,不用in,那你们用啥?

by_封爱 2013-03-21 09:45:35
加精

create table Demo
(
id int identity(1,1) primary key,
name varchar(100),
tel varchar(100)
)
insert into Demo values('小明','13333332222')
insert into Demo values('小李','13833332222')
insert into Demo values('小张','15933332222')
insert into Demo values('小赵','13333338899')
insert into Demo values('小王','13888888888')
--查询号码包含2222的
select * from Demo where tel like '%2222%'
--查询手机号是133开头的
select * from Demo where tel like '133%'
--查询尾号是8899的
select * from Demo where tel like '%8899'
--查询ID在 2 3 4之间的
select * from demo where id in(2,3,4)


很简单的问题 大家都能会做.但是大家又都说 like in 效率不行.. 那代码改如何?
我只能想到

select * from demo where CHARINDEX('2222',tel)>0

select * from demo where left(tel,3)='133'

select * from demo where right(tel,4)='8899'

select * from demo where id=2
union all select * from demo where id=3
union all select * from demo where id=4



但是 这样真的好么????


XX你怎么看.
...全文
5683 112 打赏 收藏 转发到动态 举报
写回复
用AI写文章
112 条回复
切换为时间正序
请发表友善的回复…
发表回复
q914326 2013-06-15
  • 打赏
  • 举报
回复
做为一个新手,我确实又学到了一点
奈种烟草味 2013-05-08
  • 打赏
  • 举报
回复
这个必须顶,有好的大家一起分享,欣赏这种态度!看这里大神很多,希望能找到这样的大神,在自己工作之余愿意帮我们录制教学视频教程,教程针对14大类90多种软件的最近版本,包括project,visio,office,powerpoint,3DS max,vray,indesign,combustion,fireworks,autoCAD,delphi,ASP,oracle,android,matlab,director,ACD see,五笔等等等等,价格不错,一套视频一两万,有意愿的联系我呀!
showjim 2013-04-08
  • 打赏
  • 举报
回复
SQL是用来做基于索引的搜索的,文本模糊匹配应该学习怎样使用trie图、怎样分词。
liming1019 2013-04-03
  • 打赏
  • 举报
回复
in 和 exists效率是一样一样滴。
星云一点 2013-04-02
  • 打赏
  • 举报
回复
提供了一种新思路 不错不错
u010009545 2013-04-02
  • 打赏
  • 举报
回复
对比执行计划。
u010055595 2013-04-01
  • 打赏
  • 举报
回复
不要太死板好吧,模糊查询的时候就用like啊
guan_tu 2013-03-31
  • 打赏
  • 举报
回复
太精彩了,这样的评论!
极品老土豆 2013-03-30
  • 打赏
  • 举报
回复


--查询手机号是133开头的 
select * from Demo where tel >=13300000000 and tel <13400000000 

select * from Demo where tel between 13300000000 and 13399999999

豁燃开朗 2013-03-30
  • 打赏
  • 举报
回复
谁说like,in,效率不行?效率很高的
qq2013 2013-03-29
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
引用 99 楼 q107770540 的回复:
最近面的几个人中,我问他们不用LIKE,在SQL里如何实现模糊查询,工作三四年的,都没几个人回答的上来
tangarden 2013-03-27
  • 打赏
  • 举报
回复
不错 ,支持一下啊
發糞塗牆 2013-03-27
  • 打赏
  • 举报
回复
貌似挺激烈的,描红一下
自律2019 2013-03-27
  • 打赏
  • 举报
回复
引用 11 楼 DBA_Huangzj 的回复:
还有一个叫全文检索(也有地方叫全文索引),这个也是用于查找的。不过有其特定场合
模糊查询的情况下果然是全文检索有效率,不过实际开发中还木有有过。。。。。。。
q107770540 2013-03-27
  • 打赏
  • 举报
回复
最近面的几个人中,我问他们不用LIKE,在SQL里如何实现模糊查询,工作三四年的,都没几个人回答的上来
苦苦的潜行者 2013-03-27
  • 打赏
  • 举报
回复
你们也太过分了吧
嘎嘎噶 2013-03-27
  • 打赏
  • 举报
回复
发生的法师打发第三方第三方
  • 打赏
  • 举报
回复
引用 94 楼 Vidor 的回复:
我了个去,误解了两次,自信能问倒置顶贴中某位人物的,恐怕也是我误解了。 我去重修语文,这就去。
另外,我早就说过拉,我要考考我们的老大,你自己去看64楼啊,我已经说的很清楚拉,如果我说的这么清楚你都还误解的话,那我怎么说你好呢?
  • 打赏
  • 举报
回复
引用 94 楼 Vidor 的回复:
我了个去,误解了两次,自信能问倒置顶贴中某位人物的,恐怕也是我误解了。 我去重修语文,这就去。
我就说你会扯吧,这跟本帖有啥关系啊,这都能扯到一起啊? 你爱去哪儿就去哪儿凉快着去吧,没必要向本帖报告。
加载更多回复(81)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧