首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库on和where

MySQL数据库中的"ON"和"WHERE"是用于查询和过滤数据的两个关键字。

  1. ON: 在MySQL中,"ON"关键字通常用于连接两个或多个表,并根据指定的条件返回匹配的数据。它在执行连接查询时使用。
  • 概念:"ON"用于指定连接条件,它定义了连接两个表时所需的关系。
  • 分类:在MySQL中,可以使用以下类型的连接:
    • INNER JOIN(内连接):仅返回两个表之间的匹配行。
    • LEFT JOIN(左连接):返回左表中的所有行,以及与右表中匹配的行。
    • RIGHT JOIN(右连接):返回右表中的所有行,以及与左表中匹配的行。
    • FULL JOIN(全连接):返回左表和右表中的所有行,无论是否匹配。
  • 优势:使用"ON"可以根据特定的条件将多个表连接在一起,以便获取相关的数据。
  • 应用场景:"ON"常用于查询需要关联多个表的场景,例如,当需要从一个订单表中检索订单和订单对应的产品信息时,可以使用"ON"将订单表与产品表进行连接,并根据订单ID进行匹配。
  • 推荐的腾讯云相关产品:在腾讯云,可以使用腾讯云数据库MySQL(TencentDB for MySQL)来存储和管理MySQL数据库,并通过其支持的连接查询语法使用"ON"关键字。详细信息请参考腾讯云数据库MySQL产品介绍:腾讯云数据库MySQL
  1. WHERE: 在MySQL中,"WHERE"关键字用于在查询中指定过滤条件,仅返回满足条件的数据。
  • 概念:使用"WHERE"可以指定一个或多个条件,过滤数据并返回与条件匹配的行。
  • 分类:在"WHERE"子句中,可以使用以下类型的条件:
    • 比较运算符:例如,"=","<",">"等。
    • 逻辑运算符:例如,"AND","OR","NOT"等。
    • IN运算符:用于指定一个值列表,在其中查找匹配的行。
    • BETWEEN运算符:用于指定一个范围,在其中查找匹配的行。
    • LIKE运算符:用于基于模式匹配查找匹配的行。
    • 其他函数和运算符:例如,NULL,IS NULL,IS NOT NULL等。
  • 优势:使用"WHERE"可以根据特定的条件过滤数据,并仅返回满足条件的行,从而提供更精确的查询结果。
  • 应用场景:在许多查询场景中都可以使用"WHERE"进行数据过滤,例如,根据特定的日期范围、数值范围、字符串模式、逻辑条件等来检索相关数据。
  • 推荐的腾讯云相关产品:腾讯云数据库MySQL(TencentDB for MySQL)是一个成熟的云数据库产品,提供了强大的查询功能,并支持"WHERE"关键字进行数据过滤。详细信息请参考腾讯云数据库MySQL产品介绍:腾讯云数据库MySQL

请注意,以上答案只针对MySQL数据库中的"ON"和"WHERE"关键字的解释和应用场景,并不涉及具体的云计算服务商或品牌商。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • MySQL数据库,SQL的where条件提取

    接下来,让我们抛弃数据库的思想,直接思考这条SQL的⼏个关键性问题: 此SQL,覆盖索引idxt1bcd上的哪个范围? 起始范围:记录[2,2,2]是第⼀个需要检查的索引项。...在理解以上的问题解答的基础上,做⼀个抽象,可总结出⼀套放置于所有SQL语句⽽皆准的where查询条件的提取规则: 所有SQL的where条件,均可归纳为3⼤类 • Index Key (First Key...由于⼀个范围,⾄少包含⼀个起始与⼀个终⽌,因此Index Key也被拆分为Index First KeyIndex Last Key,分别⽤于定位索引查找的起始,以及索引查询的终⽌条件。...Index Filter的提取规则:同样从索引列的第⼀列开始,检查其在where条件中是否存在: 若存在并且where条件仅为 =,则跳过第⼀列继续检查索引下⼀列,下⼀索引列采取与索引第⼀列同样的提取规则...;若where条件为 >=、>、=、>、<、<=

    2.3K10

    MySQL WHERE 子句

    昨天介绍了 MySQL 数据库使用 SELECT 语句来查询数据,同时也简单提到了MySQL WHERE 子句,今天详细讲解下。...语法 我们知道从 MySQL 表中使用 SELECT 语句来读取数据,如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中,WHERE 子句用于在 MySQL 中过滤查询结果,...WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。 参数介绍完成,再介绍下操作符。...通过以上实例,我们可以看出如果想在 MySQL 数据表中读取指定的数据,WHERE 子句是非常有用的。并且,使用主键来作为 WHERE 子句的条件查询是非常快速的。...以上内容即为 MySQL 数据库使用 WHERE 子句来查询数据的简单讲解,下期再见。

    10210

    MySQL where条件探索

    MySQL查询数据过程探索 等值匹配原则 通过主键查找,不需要回表,因为主键下面的叶子节点记录本行的所有数据。...最左前缀匹配原则,仅针对联合索引 这个规则就像盖楼房,得一层盖好再盖另一层,不可能直接盖3楼,mysql来了也不行。...explain select * from demo where name = 'mysql'; 就要一楼二楼,三楼没钱盖了,用到了此联合索引,但是可能不完整,看key_len的值 有钱...认为可能还用到了唯一索引,但实际并没有用到,还是只用到了联合索引, 再看key_len的长度情况1一样,所以验证结论,where后只有第一个范围查 找才生效(如果第一个索引失效,则顺延)。...范围查询+等值匹配 优先有索引的等值查询 where后是联合索引 mysql先去union的索引树找age等于1的,然后按范围去排序stu_id。

    1.8K20

    MySQL - WHERE优化篇

    日常开发中,编写SQL语句都避免不了使用到 WHERE关键字做条件过滤,细心的朋友就会发现,WHERE的不同表现形式会对数据库性能造成一定影响,本章主要针对 WHERE优化策略进行讨论.......优化要素 想要让 SELECT....WHERE...变快,第一就是检查一下是否可以增加索引。在WHERE子句中创建索引,可以加快求值、过滤、最终检索结果的速度。...JAVA开发中,通过指令重拍会对代码做一定程度的优化,在数据库MYSQL优化器也做了一系列相关优化工作,下面要介绍的就是数据库做的内置优化 方案一: 删除不必要的括号 ((a AND b) AND...MySQL会及时发现无效 SELECT语句,然后不返回数据。 WHERE查询中发现未使用 GROUP BY或者 聚合函数(比如COUNT(),MIN()等),那么 HAVING会与 WHERE合并。...WHERE子句在 PRIMARY KEY或者 UNIQUE INDEX上的表,其中索引常量表达式作比较,并被定义为 NOT NULL。

    1K20

    golang实现mysql where in查询

    最近工作遇到一个小问题,即如何使用原生的sql查询where in语句,因为之前使用gorm习惯了,gorm已经封装好了,突然写原生的反而有点不熟悉,同时还要考虑到性能代码是否繁琐,所以写这个笔记记录一下当时的几种解决方法...的范围是一个数组,里面值的类型为int64型,例如如下: idSlice := []int{1, 2, 3, 4, 5, 6, 7} 正常的sql语句是这样写的: select * from table where...); 于是我想当然的也在代码这样写: idSlice := []int{1, 2, 3, 4, 5, 6, 7} query := fmt.Sprintf("select * from table where...,这在gorm可以是因为已经封装好了,所以经过多次试错思考之后,反应过来,其实in的范围要写成字符串的形式,毕竟是把整条sql当成原生的查询语句,所以不能出现变量之类的东西, idSlice为数组类型...类型的数组,所以前面要转换成string类型 //此时的ss为:1','2','3','4','5','6','7 query := fmt.Sprintf("select * from table where

    2.1K20

    MySQL 复杂 where 语句分析

    但是我们也需要了解具体 Where 语句的条件的拆分使用,即复杂 Where 条件是如何生效的,用何登成大神的原话,就是: 给定一条SQL,where条件中的每个子条件,在SQL执行的过程中有分别起着什么样的作用...Index Key Table Filter 基于上述表,我们具体分析一下如下拥有复杂 Where 条件的 SQL 语句。 ?...上述 SQL 语句的 Where 条件使用了两个索引,分别是二级唯一索引 ISBN 二级非唯一索引 Author。...ICP (索引下推)技术 MySQL 5.6 推出的 ICP 技术其实就是 Index Filter 技术,只不过是因为 MySQL 分为服务层存储引擎层,而 Index Filter 将原本服务层做的过滤操作...终于要到系列的最后一篇了,下一篇,我们将讲解如何根据 MySQL 信息判断死锁和解决死锁。请大家关注,转发点赞三连走起。 -关注我

    1.7K30

    MySQL复杂where条件分析

    但是,今天我们讲一下具体 Where 语句的条件的拆分使用,即复杂 Where 条件是如何生效的。...[img] Index Key Table Filter 基于上述表,我们具体分析一下如下拥有复杂 Where 条件的 SQL 语句。...语句的 Where 条件使用了两个索引,分别是二级唯一索引 ISBN 二级非唯一索引 Author。...ICP (索引下推)技术 MySQL 5.6 推出的 ICP 技术其实就是 Index Filter 技术,只不过是因为 MySQL 分为服务层存储引擎层,而 Index Filter 将原本服务层做的过滤操作...终于要到系列的最后一篇了,下一篇,我们将讲解如何根据 MySQL 信息判断死锁和解决死锁。请大家关注,转发点赞三连走起。 个人博客,欢迎来玩

    2.3K00

    mysql优化篇:where中的like=的性能分析

    GitHub地址:https://github.com/abel-max/Java-Study-Note/tree/master 一、引言 那使用过数据库的人大部分都知道,like=号在功能上的相同点不同点...mysql优化篇:where中的like=的性能分析 没错,事情不能只看表面,如果你细心研究,就会发现其实like等于号'='并不是那么简单,下面我们将详细的分析他们两者的真正区别~~~ 二、正文...mysql优化篇:where中的like=的性能分析 小伙伴通过对比可以看到两条返回结果的type字段Extra字段中的数据有所不同,那为什么不同,他们所代表的含义是什么呢?...mysql优化篇:where中的like=的性能分析 有的小伙伴该问了那非索引字段呢?...mysql优化篇:where中的like=的性能分析 like: ? mysql优化篇:where中的like=的性能分析 可以看出当非索引字段时like"="是一样的,性能上也没有差别。

    1.7K30

    开心档之MySQL WHERE 子句

    MySQL WHERE 子句 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。...WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。 以下为操作符列表,可用于 WHERE 子句中。...如果我们想在 MySQL 数据表中读取指定的数据,WHERE 子句是非常有用的。 使用主键来作为 WHERE 子句的条件查询是非常快速的。...字段值为 Sanjay 的所有记录: SQL SELECT WHERE 子句 SELECT * from kxdang_tbl WHERE kxdang_author='菜鸟教程'; 输出结果: MySQL...实例 以下实例将从 kxdang_tbl 表中返回使用 kxdang_author 字段值为 RUNOOB.COM 的记录: MySQL WHERE 子句测试: <?

    1.1K20

    SQL - onwhere的区别

    onwhere的区别 onwhere后都表示查询条件,它们的区别如下: 1、on只能用于连接查询(内连接、外连接、交叉连接),在其他情况下使用on会报错,比如: 1 select* from test...on id = 1; -- 报错,不能在普通查询里使用on,需要使用where 2、连接查询会产生一张中间表(临时表),on是在生成中间表时使用的条件;而where是在中间表生成后对中间表进行过滤使用的条件...on test1.id = test2.id and test1.id = 1; select* from test1 left join test2 on test1.id = test2.id where....id = test2.id; -- 报错,没有使用on 4、在内连接交叉连接中,单独使用onwhere对结果集没有区别。...test1.id = test2.id; 附 以上语句都是在MySQL5.0的情况下测试的。

    1.7K20
    领券