Day-4:高级数据过滤

1、组合WHERE子句

WHERE子句可以用AND或者OR来连接多个过滤条件。

  操作符:用来联结或者改变WHERE子句中的子句的关键字,也叫逻辑操作符。

AND操作符:前后两个条件都要满足

select prod_id, prod_price, prod_name
from products
where vend_id = 'DLL01' and prod_price <= 4;

/*
prod_id, prod_price, prod_name
BNBG01    3.49    Fish bean bag toy
BNBG02    3.49    Bird bean bag toy
BNBG03    3.49    Rabbit bean bag toy

*/

OR操作符:前后两个满足任意一个,第一满足就不会再计算第二个了

select prod_id, prod_price, prod_name
from products
where vend_id = 'DLL01' or vend_id = 'BRS01';

/*
prod_id, prod_price, prod_name
BNBG01    3.49    Fish bean bag toy
BNBG02    3.49    Bird bean bag toy
BNBG03    3.49    Rabbit bean bag toy
BR01    5.99    8 inch teddy bear
BR02    8.99    12 inch teddy bear
BR03    11.99    18 inch teddy bear
RGAN01    4.99    Raggedy Ann
*/

求值顺序

WHERE子句可以包含任意数目的AND和OR操作符。SQL先优先处理AND操作符。括号可以提高运算优先级。

例子:列出价格为10及以上,且由DLL01或BRS01制造的所有商品

select prod_price, prod_name
from products
where (vend_id = 'DLL01' or vend_id = 'BRS01') and prod_price >= 10;

/*
prod_price, prod_name
11.99    18 inch teddy bear
*/

IN操作符:指定范围,范围中的每个条件都可以进行匹配,后跟逗号分开的合法值,且必须在括号中。功能与OR相当。

select prod_name, prod_price
from products
where vend_id in ('DLL01','BRS01')
order by prod_name;

/*
prod_name, prod_price
12 inch teddy bear    8.99
18 inch teddy bear    11.99
8 inch teddy bear    5.99
Bird bean bag toy    3.49
Fish bean bag toy    3.49
Rabbit bean bag toy    3.49
Raggedy Ann    4.99
*/

NOT操作符:否定其后所跟的任何条件,NOT不单独使用(和其他操作符一起使用)

例子:列出除DLL01这外的所有供应商制造的产品

select prod_name
from products
where not vend_id = 'DLL01'  #where vend_id <> 'DLL01'
order by prod_name;

/*
prod_name
12 inch teddy bear
18 inch teddy bear
8 inch teddy bear
King doll
Queen doll
*/

 

转载于:https://www.cnblogs.com/jp-mao/p/6560338.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值