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

mysql中where与on区别

WHERE子句

  • 作用范围WHERE子句主要用于过滤FROM子句返回的结果集。它可以在SELECTUPDATEDELETE语句中使用,以限制哪些行被包含在最终的查询结果中,或者哪些行被更新或删除。
  • 应用场景:当需要基于某些条件过滤结果集时,使用WHERE子句。例如,查询年龄大于30的所有用户。
  • 与JOINs的关系:在JOIN操作中,WHERE子句通常用于过滤连接后的结果集,即先连接两个或多个表,然后根据WHERE子句中的条件过滤结果。但是,使用WHERE子句过滤连接条件(即,作为连接条件)通常不是最佳实践,因为这可能会导致不必要的全表扫描或笛卡尔积(如果连接条件被错误地放在WHERE中而没有ON子句)。

ON子句

  • 作用范围ON子句专门用于JOIN操作中,用于指定两个或多个表之间的连接条件。它决定了哪些行应该被连接在一起。
  • 应用场景:当需要连接两个或多个表,并基于某些条件匹配行时,使用ON子句。例如,连接用户表和订单表,基于用户ID匹配用户和他们的订单。
  • 与WHERE的关系:虽然ON子句和WHERE子句都可以包含条件,但它们的用途不同。ON子句用于定义如何连接表,而WHERE子句用于过滤连接后的结果集。在某些情况下,两者可以组合使用,以先连接表,然后过滤结果。

总结

  • 使用ON子句来定义表之间的连接条件。
  • 使用WHERE子句来过滤查询结果,或者作为连接后结果的进一步筛选条件。
  • 在进行表连接时,应优先使用ON子句来指定连接条件,因为这样可以提高查询效率,避免不必要的全表扫描或笛卡尔积。
  • WHERE子句在连接操作后使用,用于过滤连接后的结果集
http://www.lryc.cn/news/406297.html

相关文章:

  • filebeat把日志文件上传到Es中配置(ES7版本)
  • Vue Router基础
  • Apache压测工具ab(Apache Bench)工具的下载安装和使用示例
  • IPIDEA与Python爬虫:联手解锁全球电商数据宝库
  • Fine-BI学习笔记
  • AI 辅助编程 Coding AI 辅助研发组织的技术蓝图
  • VScode 批量操作
  • 【Linux】管道通信和 system V 通信
  • Python | Leetcode Python题解之第279题完全平方数
  • mysql定时备份
  • 数据结构:逻辑结构与物理结构
  • pycharm报错:No module named pip/No module named pytest
  • Linux:Linux权限
  • 新版Glide检测生命周期原理
  • Ansible的脚本-----playbook剧本【上】
  • sql注入学习与防护
  • 饥荒dst联机服务器搭建基于Ubuntu
  • AtCoder Beginner Contest 363
  • Protel DXP 面试题详解及参考答案(4万字长文)
  • 雪花算法 集群uid重复问题 uid-generator-spring-boot-starter
  • 【AutoDL】AutoDL+Xftp+Xshell+VSCode配合使用教程
  • 使用minio cllient(mc)完成不同服务器的minio的数据迁移和mc基本操作
  • Vue3分段控制器(Segmented)
  • SpringSecurity如何正确的设置白名单
  • 【Langchain大语言模型开发教程】评估
  • Python爬虫小项目实战
  • PHP Filesystem 简介
  • 源代码加密软件哪家好?五款企业级加密软件推荐
  • Redis常见的数据类型及操作方式
  • 谷粒商城实战笔记-55-商品服务-API-三级分类-修改-拖拽数据收集