mysql on是什么意思_这SQL语句里的ON 是什么意思啊
展开全部
on条件是在生成临时32313133353236313431303231363533e59b9ee7ad9431333433626439表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
on、where、having这三个都可以加条件的子句中,on是最先执行,where次之,having最后。有时候如果这先后顺序不影响中间结果的话,那最终结果是相同的。但因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的。
根据上面的分析,可以知道where也应该比having快点的,因为它过滤数据后才进行sum,所以having是最慢的。但也不是说having没用,因为有时在步骤3还没出来都不知道那个记录才符合要求时,就要用having了。
在两个表联接时才用on的,所以在一个表的时候,就剩下where跟having比较了。在这单表查询统计的情况下,如果要过滤的条件没有涉及到要计算字段,那它们的结果是一样的,只是where可以使用rushmore技术,而having就不能,在速度上后者要慢。
扩展资料
SQL中on条件与where条件的区别:
where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
在多表联接查询时,on比where更早起作用。系统首先根据各个表之间的联接条件,把多个表合成一个临时表后,再由where进行过滤,然后再计算,计算完后再由having进行过滤。由此可见,要想过滤条件起到正确的作用,首先要明白这个条件应该在什么时候起作用,然后再决定放在那里。
join过程可以这样理解:首先两个表做一个笛卡尔积,on后面的条件是对这个笛卡尔积做一个过滤形成一张临时表,如果没有where就直接返回结果,如果有where就对上一步的临时表再进行过滤。
mysql on是什么意思_这SQL语句里的ON 是什么意思啊相关推荐
- mysql给字段添加描述_用sql 语句给字段添加描述
用sql 语句给字段添加描述 IF not exists (SELECT * FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', ...
- mysql 字段相同条数_用sql语句统计数据库某个字段中相同的数据有多少条?
展开全部 用分组,组内计数就可以了,意e69da5e6ba9062616964757a686964616f31333366306461思就是根据字段a的取值进行分组,相同的为一组,在用count进行组 ...
- mysql查询学号和姓名_数据库SQL语句中 查询选修了全部课程的学生的学号和姓名...
一.SQL语言查询选修了全部课程的学生的学号和姓名. 两种解决途径: 第一种: 我们可以表示为在SC表中某个学生选修的课程数等于C表中课程总数.相应的SQL语言如下: selectS#,SNAMEfr ...
- mysql的条件求和函数_使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解...
首先举个栗子(不想看的话直接下面看总结): order_type:订单类型 open_id:用户唯一标识 SELECT date(create_time) AS '当天日期', sum(real_pr ...
- mysql查询和某人一样_使用sql语句实现查询某人的排名,分数相同排名相同
一.第一种形式排名 如:4个学生的分数分别是:100.90.90.80 排名结果为:第一.第二.第二.第三 SELECT count(DISTINCT score) FROM tbl_score WH ...
- mysql pivot函数怎么用_浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用...
/*创建数据库*/ CREATE DATABASE tmp go USE tmp go /*创建数据库测试表*/ CREATE TABLE [Scores] ( [ID] INT IDENTITY(1 ...
- 【MySQL】全国省市县三级联动SQL语句—区县SQL(三)
目录 ->区县信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)_路遥叶子的博客-CSDN博客全国省市县三级联动SQL语句-建表和省份SQL(一)https://bl ...
- JavaWEB01:MySQL基础——数据库相关概念、MySQL安装和配置、基础的SQL语句
JavaWEB01:MySQL基础--数据库相关概念.MySQL安装和配置.基本的SQL语句 JavaWEB02:MySQL高级--约束.数据库设计.多表查询.事务 JavaWEB03:JDBC Ja ...
- mysql批量删除多条记录的sql语句_mysql批量删除sql语句
30种mysql优化sql语句查询的方法_计算机软件及应用_IT/计算机_专业资... 简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name 2.说明: ...
最新文章
- stm32驱动lcd段码io配置_I.MX6U处理器GPIO的命名复用与IO配置
- I/O端口和I/O内存
- python3读取excel数据-python3读取Excel数据
- 《C++ Primer》2.6.1节练习
- 【计算机网络】核心知识归纳总结
- SAP License:生产订单结算时候的几个差异
- 全面了解CCD摄像机
- 关于csdn登陆提示验证码
- 【数据挖掘】金山办公2020校招大数据和机器学习算法笔试题
- 两天赚 2 千,用 Python 接私活,真香!
- python文本编辑器怎么运行_python程序编辑和运行的几种方法
- 举个栗子!Tableau技巧(53):添加跳转按钮实现页面切换
- 修改RedHat启动项
- Autodesk AutoCAD 2022中文下载及教程
- kindle推送服务
- Android名片扫描识别系统SDK
- Java字符串类学习笔记
- 利盟Lexmark X5190 Pro 打印机驱动
- 定制一个Python开源键盘,一键放连招不在话下
- 软件测试基础知识-问答
热门文章
- 乐高机器人亮剑_羊城e家互联网同道精英汇 多益网络诚邀更多游戏奋斗者加入...
- 图像分割之基于阙值的分割方法
- 洛阳理工Linux实验报告,谁来给我抄实验报告啊!这一张又一张写得。。。。
- 关于视觉工业相机的50个问题
- Linux内核4.14版本——mmc core(7)——mmc core主模块(3)总线io setting相关(struct mmc_ios)
- WHT20无线温湿度传感器 STM8S单片机
- LLRB——红黑树的现代实现
- Yocto系列讲解[入门篇] 1 - 快速入门熟悉Yocto的构建
- 【LeetCode】934. 最短的桥
- nand flash基础(一)