各位高手:SQL高级查询怎么写?(要有说明以及注释越详细越好!)
2013-12-10
展开全部
select * from Users where UserID in(1,2,3,4)in的意思是UserID等于1或2或3或4,not in的意思是UserID不等于1或2或3或4if exists (select * from Users where UserID = 1)begin print '1'endexists的意思是说select * from Users where UserID = 1有返回结果的时候,输出1;not exists的意思是说select * from Users where UserID = 1有返回结果的时候。高级查询是说提高查询的速度,比如说select 字段1 from (select 字段1 from 表1) a join 表2 on a.字段1=表2.字段1 where a.字段1 = 1024它的高效写法就是 select 字段1 from (select 字段1 from 表1 where 字段1 = 1024) a join 表2 on a.字段1=表2.字段1高级写法其实就是思维逻辑的问题,比如说一些下面两个方法能得出同样的结果,但写法不同方法1:后台sql搜索出一万条数据,一万条数据在前台分页,每页40条数据;方法2:在后台sql先分页,只搜索出40条数据,然后在前台显示。虽然显示的数据是一样不差的,但是因为写法的不同,会导致时间差距很大。如果有一些join其它表或用上自定义函数,方法1可能要3、4分钟,而方法2只要2秒。这就是高效查询,有时候把where条件换个位置,就能明显提高查询速度,这同样也叫高效查询。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-10
展开全部
呵呵,这个比较难,一般都是你举个例子,要查什么,别人才能给你写出来,高级查询有太多东西,光高级查询就能写上一本书,网上有教程,可是找一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询