我们来学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.rhkb.cn/news/464320.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CloudCompare——基于连通性的点云分类【2024最新版】

目录 1.实现原理2.找到连通性分类功能3.设置计算参数4.分类结果5.完整操作流程 1.实现原理 见:http://en.wikipedia.org/wiki/Connected-component_labeling。 2.找到连通性分类功能 “Tools > Segmentation > Label Connected Comp”菜单进行打开 3.设置…

Axure大屏可视化模板:赋能各行各业的数据展示与管理

如何高效、直观地展示和分析数据,成为企业和机构面临的重要挑战。Axure大屏可视化模板作为一种先进的数据展示工具,凭借其强大的交互性和直观性,在多个领域内得到了广泛应用。从农业生产的智能化管理到城市发展的精细化管理,再到企…

模型 海勒姆法则(用户依赖你未承诺的API功能)

系列文章 分享 模型,了解更多👉 模型_思维模型目录。用户总会以你意想不到的方式使用你的产品。 1 海勒姆法则的应用 1.1 社交网络平台API的变更 一个流行的社交网络平台“Socialville”拥有数百万用户,它提供了一个API,允许开发…

Rust 力扣 - 1423. 可获得的最大点数

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 题目所求结果存在下述等式 可获得的最大点数 所有卡牌的点数之和 - 长度为(卡牌数量 - k)的窗口的点数之和的最小值 我们遍历长度为(卡牌数量 - k)的窗口&#…

如何对LabVIEW软件进行性能评估?

对LabVIEW软件进行性能评估,可以从以下几个方面着手,通过定量与定性分析,全面了解软件在实际应用中的表现。这些评估方法适用于确保LabVIEW程序的运行效率、稳定性和可维护性。 一、响应时间和执行效率 时间戳测量:使用LabVIEW的时…

「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现

本篇将带你实现一个滑动选择器应用,用户可以通过滑动条选择不同的数值,并实时查看选定的值和提示。这是一个学习如何使用 Slider 组件、状态管理和动态文本更新的良好实践。 关键词 UI互动应用Slider 组件状态管理动态数值更新用户交互 一、功能说明 在…

docker pull 拉取镜像失败,使用Docker离线包

1、登录并注册Github,然后在Github中搜索并打开“wukongdaily/DockerTarBuilder” 项目,在该项目主页点击“Fork”。 然后点 “Create Fork”,将项目创建到自己的Github主页。 2、接着在自己创建过来的这个项目中点击“Actions” 3、然后…

使用JdbcTemplate 进行数据库的增、删、改、查

一、概述 1、为什么选择 Spring Boot ? Spring Boot 是目前 Java 社区最流行、最有影响力的技术之一,也是下一代企业级应用开发的首选技术。Spring Boot 由 Spring 衍生而来,继承了其所有的有点,为开发者带来了巨大的便利。 “We use a lo…

EHOME视频平台EasyCVR萤石设备视频接入平台视频诊断技术可以识别哪些视频质量问题?

EasyCVR视频监控汇聚管理平台是一款针对大中型项目设计的跨区域网络化视频监控集中管理平台。萤石设备视频接入平台EasyCVR不仅具备视频资源管理、设备管理、用户管理、运维管理和安全管理等功能,还支持多种主流标准协议,如GB28181、GB35114、RTSP/Onvif…

这款Chrome 插件,帮助我们复制网页上不能复制的内容

前言 最近在上网查找博客时,经常遇到想要复制网页上的内容,但是,一点击复制,就会弹出来各种各样的弹框,导致复制不能继续,非常麻烦。这时,我想到了一个办法,那就是下载安装一个chro…

数字后端零基础入门系列 | Innovus零基础LAB学习Day8

###LAB15 Detail Routing for Signal Integrity, Timing, Power and Design for Yield 这个章节虽然标题有点长,但不要被它吓到,其实这个章节就是Innovus工具的绕线Routing。只不过这个阶段做Route不是仅仅是把所有的逻辑连接,用实际的金属层…

ISUP协议视频平台EasyCVR视频融合平台接入各类摄像机的方法

安防视频监控ISUP协议视频平台EasyCVR兼容性强、支持灵活拓展,平台可提供视频远程监控、录像、存储与回放、视频转码、视频快照、告警、云台控制、语音对讲、平台级联等视频能力。 想要将摄像机顺利接入EasyCVR平台,实现视频监控的集中管理和分发&#x…

QEMU学习之路(4)— Xilinx开源项目systemctlm-cosim-demo安装与使用

QEMU学习之路(4)— Xilinx开源项目systemctlm-cosim-demo安装与使用 一、前言 项目说明:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/862421112/Co-simulation 操作系统:Ubuntu 20.04.6 LTS gcc版本:9.4…

【解决办法】无法使用右键“通过VSCode打开文件夹”

个人博客:苏三有春的博客 前言 作者的编程环境为VScode,工作时常使用VScode打开整个工程文件夹。如果先打开VScode再从VScode中选择文件夹打开效率太慢,作者一般使用的方式是右键文件夹,直接选择"通过code打开文件夹"…

Java环境下配置环境(jar包)并连接mysql数据库

目录 jar包下载 配置 简单连接数据库 一、注册驱动(jdk6以后会自动注册) 二、连接对应的数据库 以前学习数据库就只是操作数据库,根本不知道该怎么和软件交互,将存储的数据读到软件中去,最近学习了Java连接数据库…

ES + SkyWalking + Spring Boot:日志分析与服务监控(三)

目录 一、搭建SkyWalking 1.1 版本选择 1.2 下载安装 1.3 配置启动 1.4 SkyWalking UI介绍 二、Springboot项目使用 2.1 Agent下载 2.2 Agent配置skywalking oap地址 2.3 IDEA配置Agent地址 2.4 生成的ES索引介绍 三、在kibana上查看日志 四、问题和解决 3.1 日志…

读数据工程之道:设计和构建健壮的数据系统28数据服务常见关注点

1. 使用场景 1.1. 为分析和BI,也就是统计分析、报表和仪表板提供数据服务 1.1.1. 是数据服务最为常见的目标 1.1.2. 这些概念的提出早于IT和数据库,但是它们对于了解业务、组织和财务流程的利益相关者来说仍然至关重…

Linux中断、软中断、MMU内存映射-深入理解

中断: Linux中,中断上半部不能嵌套,如果一直保存上下文,栈可能会溢出。中断上半部处理紧急事情,下半部处理非紧急事情。下半部通常通过软中断来实现。在上半部执行完后会执行下半部的软中断,如果囤积了A和…

MySQL之JDBC入门详解

01-JDBC入门 一、JDBC概念 jdbc : java database connection , java数据库连接 jdbc是sun公司定义的java程序访问数据库的规范。 二、JDBC操作需要6步 三、入门程序 1、使用eclipse打开一个新的工作空间 2、切换到java视图界面 3、创建java工程:01-jdbc-helloworl…

Vue3版本的uniapp项目运行至鸿蒙系统

新建Vue3版本的uniapp项目 注意,先将HbuilderX升级至最新版本,这样才支持鸿蒙系统的调试与运行; 按照如下图片点击,快速升级皆可。 通过HbuilderX创建 官方文档指导链接 点击HbuilderX中左上角文件->新建->项目 创建vue3…