第7章 数据过滤
where子句还可以,用逻辑运算符and ,or, in,not过滤数据。
1、and操作符 #两个条件同时满足
找出供应商为1003,同时价格小于等于10美元的产品:
select vend_id,prod_name,prod_price from products where vend_id=1003 and prod_price<=10;
2、or操作符 #任意一个条件满足
找出供应商为1002或1003的产品:
select prod_name,prod_price,vend_id from products where vend_id=1002 or 1003;
3、计算次序:
逻辑运算优先次序:()> and > or,where后面有逻辑运算符时,尽量用(),可以避免计算次序歧义。
找出供应商为1002或1003的,同时价格不小于10美元的产品:
select prod_name,prod_price,vend_id from products where (vend_id=1002 or vend_id=1003) and prod_price>=10;
4、IN操作符: # in最大优点:in可以包含where子查询,使过滤条件更灵活。
找出供应商为1002或1003的产品:
select prod_name,prod_price,vend_id from products where vend_id in(1002,1003); #与or效果相同。
5、NOT操作符:可以对其他操作符取反,优点是在复杂查询条件中取反很方便。
找出供应商不是1002或1003的产品:
select prod_name,prod_price,vend_id from products where vend_id not in(1002,1003);
《mysql必知必会》是一本好书,是一本sql语言入门书,豆瓣评分很高。
作者是英国的Ben Forta,世界知名的技术作家,由人民邮电出版社发行,我觉得原作名: MySQL Crash Course,直译为:《MYSQL速成》更具畅销书潜质,只是比较俗吧,呵呵。
书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。
前三章是基础概念,讲了SQL和数据库的基本概念,Mysql数据库的概念和使用方法,第四章开始SQL实操练习,这里是本书的一些实操练习笔记,有兴趣的话可以按这个练习几遍,相信对新手会很有帮助,让你不经意间功力大增。
网友评论