我国移动互联网进入了飞速发展阶段,互联网人才日益受到企业的重视,其中PHP开发人才便是其中之一,在互联网旅游、金融、餐饮、娱乐、社交等一些新兴企业与软件开发企业中,PHP开发岗位相对占有核心地位,今天给大家分享的技术知识是—— mysql数据库如何实现多字段过滤。
1.多字段过滤查询
类比现实:查询公司中户籍是北京的、年龄超过30岁、性别是男的同事信息;
查询场景:查询商品名称是'King doll'、商品价格是9.49的商品。
查询SQL:
SELECT prod_id, prod_name, prod_price F ROM Products W HERE prod_name = 'King doll' AND prod_price = 9.49;
查询结果:
2.多字段过滤连接
WHERE字句中有多个字段进行查询过滤,过滤条件如何连接的呢"htmlcode">
SELECT * FROM OrderItems W HERE item_price B ETWEEN 2 AND 5 AND quantity >= 10 ORDER BY order_num DESC;
测试结果:
结果说明:如果有多个过滤条件需要同时满足,那么只需要在哪些过滤条件之间加上AND关键字即可,查询条件理论上个数不限!
2.2OR操作符
OR操作符作用"htmlcode">
SELECT * F ROM OrderItems W HERE item_price B ETWEEN 3 AND 5 OR quantity >= 200 ORDER BY order_num DESC;
测试结果:
结果说明:只要满足商品单价在[3,5]之间,或者商品数量大于等于200的订单都满足条件。
2.3AND和OR进行对比
AND必须满足全部条件,OR只需要满足任一条件。
类比理解:现在有一群黑色和白色的公企鹅,如果取走黑色母企鹅,即SELECT * FROM 企鹅 WHERE 颜色=黑色 AND 性别=母是查询不到企鹅的,因为两个条件必须同时满足,性别=母是没有;如果要取走颜色是白色或性别是母的企鹅,即SELECT * FROM
企鹅 WHERE 颜色=白色 OR 性别=母,那么就可以将白色公企鹅查询出来。
2.4执行次序
将AND和OR结合使用进行复杂的数据过滤,那么就会出现执行次序的问题。
类比现实:比如小学中学习有括号四则混合运算,那么运算就要满足一定顺序;比如公司中查询月薪超过10w,并且职位是管理层或开发者的员工。
测试情景:查询商品单价是3.49,商品编号是BNBG01或BNBG03的订单。
分析思考:查询商品单价必须满足3.49,而商品编号只需要满足BNBG01或BNBG03任一个即可。
测试SQL:
SELECT * F ROM OrderItems W HERE item_price B ETWEEN 3 AND 5 OR quantity >= 200 ORDER BY order_num DESC;
测试结果:
结果分析:
数据没有满足我们的预期,为什么呢"htmlcode">
SELECT * F ROM OrderItems W HERE item_price= 3.49 AND (prod_id = 'BNBG01' OR prod_id= 'BNBG03') ;
测试结果:
结果分析:
从查询结果中可以看到,(prod_id='BNBG01' OR prod_id='BNBG03')
作为1个整体变成1个执行单元;
圆括号的优先级高于AND,AND优先级高于OR;
如果查询过滤条件过多,使用AND或者OR,那么就应该使用圆括号明确地分组操作,不要以来默认地计算次序!使用圆括号的好处在于可消除歧义,增强可读性。
总结
以上所述是小编给大家介绍的Mysql数据库实现多字段过滤的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com