Mysql中where与on的区别及何时使用详析

下面是关于"Mysql中WHERE与ON的区别及何时使用"的完整攻略:

区别

WHERE

  • WHERE是用于筛选行的(即对于SELECT语句或者UPDATE语句,我们使用WHERE语句来筛选需要处理的行记录);
  • WHERE是在数据表中,查询完成后进行过滤的,即先从表中检索记录,再通过WHERE进行判断,将符合条件的记录返回;

示例1:

SELECT * FROM表A 
WHERE A.X = '值1';

上面的语句会返回表A中所有X列值等于'值1'的所有记录。

ON

  • ON是用于连接表(即通过JOIN语句,连接两张或多张数据表,需要在ON子句中指定连接条件);
  • 在JOIN操作中,我们可以使用ON语句来指定两个表的关联条件,例如常用的INNER JOIN就是通过ON子句来指定连接条件的;

示例2:

SELECT * FROM 表A 
INNER JOIN 表B 
ON A.X = B.X;

上面的语句会通过INNER JOIN将表A和表B关联起来,并且要求它们的X列的值是相等的。

何时使用

  • 使用WHERE子句来定义过滤条件,只能用于当前查询的两个表的列之间无关联关系的条件比较;
  • 使用ON子句,可以实现各种连接操作的条件详细说明,包括JOIN、LEFT JOIN、RIGHT JOIN等等;

所以,当我们需要在连接多张数据表的时候,应该使用ON,而在针对单张数据表时,只需要使用WHERE就可以了。

示例3:

SELECT A.X, SUM(B.Y) 
FROM 表A 
JOIN 表B 
ON A.ID = B.AID 
WHERE A.X = '值1' 
GROUP BY A.X;

上面的语句会连接表A和表B,返回A表中X列值等于'值1'的所有记录,并且通过A表的ID列和B表的AID列进行关联,最后通过对B表的Y列进行SUM,返回一个汇总结果。

总的来说,WHERE一般用于过滤需要查询的数据,而ON则用于连接多张数据表的条件指定。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mysql中where与on的区别及何时使用详析 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL执行事务的语法与流程详解

    MySQL 执行事务的语法与流程详解 什么是事务? 事务是指作为单一逻辑工作单元执行的操作集合,具有以下四个属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability)。 当进行一系列的操作时,要么全部执行成功,要么全部撤回,不能出现部分执行的情况。这就是 MySQL 所定义的事务的特性…

    database 2023年5月22日
    00
  • 半小时带你复习数据库三级复习大纲(小结)

    首先我会将“半小时带你复习数据库三级复习大纲(小结)”放在自己的网站上,并将它分为几个小节,以便读者可以更加清晰地了解复习大纲的内容。以下是详细的攻略: 标题 首先,我会在页面上设置了适当的标题。这包括整个页面的标题以及每个小节的子标题。标题应该简洁而明确,同时能够涵盖相关的主题。以下是一个示例页面的标题: 半小时带你复习数据库三级复习大纲(小结) 知识点1…

    database 2023年5月19日
    00
  • 网站维护需要做什么?做好网站维护需要具备哪些知识

    网站维护是一个不可忽视的重要环节,其作用在于保持网站的稳定性、可靠性、安全性,同时也有助于提升用户体验和网站质量。为做好网站维护,需要投入大量的精力和资源,以下是我总结的几个方面: 网站维护需要做什么? 更新网站内容:网站的内容是吸引用户的最重要因素之一,因此需要定期更新,尤其是一些涉及到新闻、资讯、产品信息等内容的网站更要注重。同时,对于一些旧的或者已经过…

    database 2023年5月19日
    00
  • MySQL (一) 生产环境安装配置

    一、简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。有以下特点: MySQL是一种数据库管理系统。 MySQL是一种关联数据库管理系统。 MySQL软件是一种开放源码软件。 MySQL数据库服务器具有快速、可靠和易于使用的特点。 MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。 有大量可用的共…

    MySQL 2023年4月12日
    00
  • 利用rpm安装mysql 5.6版本详解

    下面为您详细讲解”利用rpm安装mysql 5.6版本详解”的完整攻略。 准备工作 在安装MySQL 5.6之前,需要先安装必要的依赖包,例如gcc、gcc-c++、cmake、ncurses-devel等。可以使用yum命令进行安装,命令如下: sudo yum install gcc gcc-c++ cmake ncurses-devel 下载MySQL…

    database 2023年5月22日
    00
  • redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:53)

    解决方法1: 主要就是要去redis的配置文件中修改密码,修改完密码后记得重启redis。跟着作者的步骤走,可以完美解决! 解决方法2: 在配置文件中把password去除一样可以解决! 1.把redis配置文件中的password注释了 2.把spring-redis中的passwrod配置也注释了   参考:https://blog.csdn.net/i…

    Redis 2023年4月12日
    00
  • MySQL8数据库安装及SQL语句详解

    MySQL8数据库安装及SQL语句详解 MySQL8数据库安装 要安装MySQL8数据库,可以按照以下步骤进行: 下载MySQL8的安装包。 官方下载地址:https://dev.mysql.com/downloads/mysql/ 安装MySQL8。 双击下载的mysql安装包,按照提示进行安装,过程中可以自行选择安装路径和配置。 设置root用户密码。 …

    database 2023年5月22日
    00
  • SQL Server 2005 Management Studio Express企业管理器将英文变成简体中文版的实现方法

    下面是实现SQL Server 2005 Management Studio Express企业管理器变成简体中文版的攻略。 步骤一:下载语言包 首先,需要下载适用于SQL Server Management Studio Express 2005的简体中文语言包。可以从微软官网下载或者从其他可靠的下载站点下载。 步骤二:安装语言包 将语言包下载到本地后,双…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部