当前位置: 首页 > article >正文

我们来学mysql -- 同时使用 AND 和 OR 查询错误(填坑篇)

AND 和 OR 一同使用问题

  • 现象
  • 分析
  • 处理
  • 扩展

现象

  • 业务上在“锁定”当前零件所在出口国的所有零件时,出现其他国家零件
    在这里插入图片描述

  • 问题定位
    在这里插入图片描述
    在这里插入图片描述

分析

  • or 切断操作符之间的连续性,从union角度分析

  • where k1 = 'Td621' and k1 = 'Vda96' or k3 = 'P00009'等同

     select * from ucoding where k1 = 'Td621' and k1 = 'Vda96' 
     union 
     select * from ucoding where k3 = 'P00009'
    

    在这里插入图片描述

  • where k1 = 'Td621' or k3 = 'P00009' and k1 = 'Vda96' 等同

     select * from ucoding where k1 = 'Td621'
     union 
     select * from ucoding where k3 = 'P00009' and k1 = 'Vda96'
    

    在这里插入图片描述

处理

  • 看 and 连接的条件在业务上应该和哪些条件结合
  • 如果还是看不出来,拆分成 union检查

扩展

  • 面试中…,面试官问,OR如何造成索引失效
  • 镇定自若中…balabala,HR说等通知
  • 回家查看到大佬的博客,有如下发现
    • 索引不失效
      在这里插入图片描述

    • 索引失效
      在这里插入图片描述

    • 索引再次生效
      在这里插入图片描述

  • 😆->🤣😂->😭关于type字段含义请查看 访问方法(原理篇)

http://www.kler.cn/a/385169.html

相关文章:

  • 在JS中, 0 == [0] 吗
  • Dependency: androidx.webkit:webkit:1.11.0-alpha02. 问题
  • 【C】无类型指针及函数指针
  • Ubuntu笔记-auto remove
  • 管理 Elasticsearch 变得更容易了,非常容易!
  • C语言 | Leetcode C语言题解之第542题01矩阵
  • 【linux学习2】linux基本命令行操作总结
  • 【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割!
  • c语言-scanf/scanf_s函数的用法
  • 使用 Mac 数据恢复从 iPhoto 图库中恢复照片
  • 优雅的使用TypeScript的建议
  • QT项目之推箱子
  • Windows下mysql数据库备份策略
  • NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
  • fastGPT调用stable diffusion生成图片,本地模型使用ollama
  • DNS域名详细解析详解
  • 让零售更智能|无人超市系统开发,实现数字化商超
  • 【安当产品应用案例100集】029-使用安全芯片保护设备核心业务逻辑
  • _处理匿名命名空间里的变量时进入硬件中断错误
  • [全网最完整最详细C++篇]第四篇:类和对象(上)
  • YOLOv6-4.0部分代码阅读笔记-figure_iou.py
  • LabVIEW高效数据采集与信号处理系统
  • 【UE5】在材质中实现球形法线技术,常用于改善植物等表面的渲染效果
  • STM32CUBEIDE FreeRTOS操作教程(八):queues多队列
  • Altium Designer使用技巧(四)
  • 3193. 统计逆序对的数目