文档章节

mysql的语句执行顺序

书中迷梦
 书中迷梦
发布于 2016/07/07 09:00
字数 253
阅读 41
收藏 3
点赞 0
评论 0

mysql语句

select xxx from xxx on xxx where  xxx  having xxxx

在网上查了半天,发现下面的说法是最能符合结果的解释:
1、from子句组装来自不同数据源的数据;  

2、where子句基于指定的条件对记录行进行筛选;  

3、group by子句将数据划分为多个分组->便于后续聚合函数计算;  

4、执行select语句,使用聚集函数进行计算,再执行distinct, distinct一般放在select最后,(聚合函数忽略null值), count
(distinct(id))这种先执行distinct再聚合;  

5、使用having子句筛选分组;  

6、计算所有的表达式;  

7、使用order by对结果集进行排序。

因为 where 是在select之前进行执行的 而 having是在select之后进行执行的 所以 having中可以使用别名进行条件过滤 

© 著作权归作者所有

共有 人打赏支持
书中迷梦
粉丝 3
博文 27
码字总数 8593
作品 0
徐汇
程序员
mysql 优化(1)

一、 通过查询缓冲提高查询速度   一般我们使用SQL语句进行查询时,数据库服务器每次在收到客户端 发来SQL后,都会执行这条SQL语句。但当在一定间隔内(如1分钟内),接到完全一样的SQL语句...

真爱2015
2015/12/07
109
1
[MySql]关于sql和mysql对于别名不能调用的一些理解

由于有部分语句别名不能调用原来是由于别名机制不同引起的,为了避免下次发生就整理了一下sql和mysql执行顺序发现内部机制是一样的,最大区别是在别名的引用上 在写sql的时候,由于有部分语句...

NateHuang
2016/11/17
25
0
MySQL hints

我们可以对MySQL的对象(表、索引、触发器、自建函数、存储过程等)做注释(comment),这样做的目的是标识该对象的作用等以增强代码的可读性、方便其他同事快速读懂我们写的代码或某个数据库...

大王叫我来巡山Zd
2016/04/11
17
0
follow大神教程——实践java爬虫之六

朕已无力吐糟实验室的网速了。。。 10点半左右开机,网线、wifi都连不上,右下角wifi连上但有黄色叹号, QQ错误码:0x00000001 表示访问网络失败 ipconfig,擦,本机为私有IP,连路由器都连不...

realsa
2014/07/03
0
0
课程「性能优化之MySQL优化」的复习笔记

可以进行优化的层面 硬件 系统配置 数据库表结构 SQL 语句和索引 进行优化前的数据准备 打开以下链接下载数据 打开终端,执行以下命令 SQL 语句和索引 MySQL 慢查询日志 如何发现有问题的 SQ...

javaer
2016/11/04
21
0
性能优化之MySQL各种层面优化

  可以进行优化的层面   硬件   系统配置   数据库表结构   SQL 语句和索引   进行优化前的数据准备   打开以下链接下载数据      打开终端,执行以下命令         ...

思梦教育
06/26
0
0
MySQL入门很简单-学习笔记 - 第 9 章 触发器

触发器(TRIGGER)是由事件来触发某个操作。这些事件包括INSERT语句、UPDATE语句和DELETE语句。当数据库系统执行这些事件时,就会激活触发器执行相应的操作。MySQL从5.0.2版本开始支持触发器...

晨曦之光
2012/03/09
0
0
减少InnoDB死锁发生的方法有什么?MySQL学习

  死锁的情况发生在不同的的事务相互之间拥有对方需要的锁,而导致相互一直无限等待。死锁可能发生在不同的事务都会对多个相同的表和相同的行上施加锁,但事务对表的操作顺序不相同。   ...

mo默瑶
05/23
0
0
InnoDB死锁是什么情况?怎么规避?

  死锁的情况发生在不同的的事务相互之间拥有对方需要的锁,而导致相互一直无限等待。死锁可能发生在不同的事务都会对多个相同的表和相同的行上施加锁,但事务对表的操作顺序不相同。   ...

zhouzhou2018
05/23
0
0
MySQL UNION

在本教程中,我们将学习如何使用MySQL UNION操作符从多个SELECT语句将两个或多个结果集组合成一个结果集。 MySQL UNION操作符 MySQL UNION运算符允许您从多个表查询出来的两个或多个结果集组...

易百教程
2016/09/14
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Laravel5.5 MySQL配置、读写分离及操作

Laravel 让连接不同数据库以及对数据库进行增删改查操作: 参考:http://laravelacademy.org/post/854.html 配置读写分离 应用的数据库配置位于 config/database.php(但是数据库用户及密码等...

MichaelShu
6分钟前
0
0
Linux 查看用户

存储帐号的文件:/etc/passwd 存储密码的文件:/etc/shadow 查看当前系统所有用户 grep bash /etc/passwd root修改普通用户的密码 sudo passwd user_name 然后连续两次输入新的用户密码即可...

yeahlife
12分钟前
0
0
Webpack使用nodemon实时打包编译

业务场景: 1.编写一个npm组件包并且link到了项目文件中 2.需要不断的修改并run build编译npm包并且在项目run dev 查看效果 3.问题: 每次改完npm包都要手动run build编译十分的麻烦且低效,可不...

JamesView
23分钟前
0
0
电脑炸了,浪费我好几天时间,还是简要记下来吧

我的小本本一直在兢兢业业的干活,然而前几天说炸就炸了...... 爆炸现场: 软件: windows10 pro + EIS11+ 360卫士 BIOS:N1DET98W 2.24 硬件: Xeon E3 1505-V5 nv-M3000M thinkpadP70:20E...

Oh_really
28分钟前
0
0
Git之branch和checkout

1.branch是查看、创建、删除分支 #>git branch --helpNAME git-branch - List, create, or delete branchesSYNOPSIS git branch [--color[=<when>] | --no-color] [......

汉斯-冯-拉特
29分钟前
0
0
Mybatis拦截器之数据权限过滤与分页集成

需求场景 最近项目有个数据权限的业务需求,要求大致为每个单位只能查看本级单位及下属单位的数据,例如:一个集团军下属十二个旅,那么军级用户可以看到所有数据,而每个旅则只能看到本旅部...

佛系程序猿灬
38分钟前
9
0
SpringCloud 微服务 (十六) 服务追踪 Zipkin

问题 在服务中,有一个接口,该A接口中又调用了其他服务的B、C、D接口,出现一个请求耗时大的问题,这时候并不知道该B、C、D接口中哪个接口造成的耗时量,然后比如确定C服务接口出现的耗时量大,但...

___大侠
今天
0
0
Java面试基础篇——第八篇:抽象类与接口的区别

1.抽象类 抽象类:如果一个类中包含有抽象方法,或这个类使用abstract关键字修饰,则称这个类是抽象类。 抽象方法是什么呢?抽象方法就是指用abstract关键字修饰的方法。 需要注意的是:抽象...

developlee的潇洒人生
今天
2
0
jsoup 相关资料

1.jsoup 2.Jsoup概述 3.jsoup入门 4.jsoup Java HTML Parser 1.11.3 API

IT追寻者
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部