–第五章 高级过滤数据
/*
where 操作符
and 与 //不加括号的情况下and运算优先or执行
or 或 //不加括号的情况下or运算法比and要后执行
in 在范围内 //与多个=运算符相或效果一样,如order_item in(1,3)与order_item=1 or order_item=3等效
not 表示否定的意思 //如not order_item=1与order_item<>1等效
*/
select order_item,prod_id,quantity
from OrderItems
where order_item=1 and prod_id!=‘BR01’ and quantity>5 --过滤数据输出,三条件相与
order by prod_id asc; --可以在后面加上排序,这里asc是升序,desc为降序
select order_item,prod_id,quantity
from OrderItems
where order_item=1 or prod_id=‘BR03’ and quantity>5 --过滤数据输出,上面的过滤先执行与后执行或
order by prod_id asc; --可以在后面加上排序,这里asc是升序,desc为降序
select order_item,prod_id,quantity
from OrderItems
where order_item=1 or (prod_id=‘BR03’ and quantity>5) --过滤数据输出,结果与上面相同
order by prod_id asc; --可以在后面加上排序,这里asc是升序,desc为降序
select order_item,prod_id,quantity
from OrderItems
where (order_item=1 or prod_id=‘BR03’) and quantity>5 --过滤数据输出,加括号后先执行或后执行与
order by prod_id asc;
select order_item,prod_id,quantity
from OrderItems
where order_item in(1,3)–过滤数据输出in后面的括号内的元素为或关系,彼此用逗号分隔
order by prod_id asc; --输出所有order_item等于1或等于3的行
select order_item,prod_id,quantity
from OrderItems
where not order_item=1 --过滤数据输出not为否定后面的过滤条件实际上这与order_item<>1等效
order by prod_id asc;