码迷,mamicode.com
首页 > 其他好文 > 详细

Where,having过滤方法总结

时间:2015-08-31 12:01:58      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

一 where过滤

1 使AND OR 组合查询条件 

SELECT * from sell WHERE Sell_Price>=1000 and(or) Sell_Price<=2000 


2 使?用Between Not Between 过滤记录 

SELECT * from sell WHERE Sell_Price BETWEEN 1000 and 2000(Not Between 不在这范围) 


3 使?用IN Not IN 过滤记录

SELECT * from worker WHERE Work_id IN (‘9601‘,‘9702‘)  (Not IN就不是这个...范围)


4使?用LIKE 和 通配符过滤记录

% 有零个或更多字符组成   - 单个字符

[] 指定范围 例如【A~F】[^]指定范围外 [^A~F]

? 例、从“WORKER”中查找姓名中第?二个字 是?文的职员信息。

Select * FROM worker Where work_name LIKE ‘ __‘ 

? 例:查询worker表中所有姓王的职员信息 

Select * from student Where student_name like ‘ %‘ 

? 例、显?示姓刘和姓王的职员信息

Select * FROM worker Where work_name LIKE ‘ [刘王]%‘ 

? 例、从“worker”表中检索职?工编号末位数字不 在2~6范围内的职员。 

select * from worker where work_id like ‘%[^2- 6]‘ 


5 使?用空值过滤记录

select * from supplier where sup_tel is (not) null 


二 having过滤

汇总出销售总计在1000元以上的职员的编号及销售总计 

select word_id,sum(sell_price) from sell where sell_price > 1000 group by word_id

where筛选是先选出销售价格在1000以上的,然后再分组汇总

select word_id,sun(sell_price)from sell group by word_id having sum(sell_price)>1000

having筛选是先分组汇总,再选出销售总价在1000以上的


 不同点:
1 WHERE检查每条记录是否满?足条件,?而HAVING检查分组汇总之后的 各组汇总数据是否满?足条件;
2 在
Having?子句中可?用集合函数,在Where?子句中则不能。
 


Where,having过滤方法总结

标签:

原文地址:http://my.oschina.net/u/2346786/blog/499389

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!