MySQL语句执行顺序和编写顺序实例解析
作者:cknds 发布时间:2024-01-26 12:39:18
select语句完整语法:
SELECT
DISTINCT <select_list>
FROM <left_table>
<join_type> JOIN <right_table>
ON <join_condition>
WHERE <where_condition>
GROUP BY <group_by_list>
HAVING <having_condition>
ORDER BY <order_by_condition>
LIMIT <limit_number>
执行顺序:
from →join →on →where →group by→having→select→order by→limit
(1)各个关键词的作用:
from:需要从哪个数据表检索数据,如果有join则对 FROM 子句中的前两个表执行笛卡尔积(交叉联接),生成临时表(n×m行)
on:对以上临时表进行条件筛选
left/right (join):补充左表或右表保持完整。如果有关联多个表,则中间表对下个表继续以上两步的操作
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
sum:聚合函数
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
distinct:
order by :按照什么样的顺序来查看返回的数据
limit:限制查询结果返回的数量
(2)on与where的用法区别:
a.on后面的筛选条件主要是针对的是关联表【而对于主表刷选条件不适用】。
b.如果是想再连接完毕后才筛选就应把条件放置于where后面。对于关联表我们要区分对待。如果是要条件查询后才连接应该把查询件放置于on后。
c.对于主表的筛选条件应放在where后面,不应该放在on后面
(3)having和where的用法区别:
a.having只能用在group by之后,对分组后的结果进行筛选(即使用having的前提条件是分组)。
b.where肯定在group by 之前,即也在having之前。
c.where后的条件表达式里不允许使用聚合函数,而having可以。
(4)count用法
使用count(列名)当某列出现null值的时候,count(*)仍然会计算,但是count(列名)不会。
来源:https://www.cnblogs.com/yoyowin/p/12895236.html
猜你喜欢
- 最近一直在“深山老林”中修炼“支付宝新版收银台”,经历了白板设计,视觉设计,前端开发,前后端联调各个阶段。点点滴滴……重点谈谈对交互设计的感
- 阅读作者上一篇文章:段正淳的css笔记(4)css代码的简写CSS未知图片垂直居中的方法:一天大家在团队中讨论“未知图片垂直居中”的问题,突
- 本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下1、SVM手写数字识别识别步骤:(1)样本图像的准备。(2)图
- 导读前面几章我们以经介绍了怎么批量对excel和ppt操作今天我们说说对word文档的批量操作应用python-docx允许您创建新文档以及
- 在 Python 整型对象所存储的位置是不同的, 有一些是一直存储在某个存储里面, 而其它的, 则在使用时开辟出空间.说这句话的理由, 可以
- JavaScript Dom编程 学习书籍选择JavaScript Dom编程学习,很多朋友无疑对如何选择入门的书籍,比较头疼。或许也是他们
- 每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句,特别是字段比较多的时候很麻烦,动不动就容易写错。所以我就写了下面的生成sql
- 今天的问题是请问以下 alert 弹出值分别是什么?var f = function f2()&nb
- 什么是循环? —> 循环是有着周而复始的运动或变化的规律;在 Python 中,循环的操作也叫做 &lsq
- 假设名为A.py的文件需要调用B.py文件内的C(x,y)函数假如在同一目录下,则只需import Bif __name__ == &quo
- asp之家注:学习javascript(js),免不了要用到打开新窗口,方法很多,总的来说是使用window.open。不同与HTML中的t
- 本文实例讲述了python基于urllib实现按照百度音乐分类下载mp3的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin
- 一、FBVFBV(function base views) 就是在视图里使用函数处理请求。二、CBVCBV(class base views
- 数据完整性是任何数据库系统要保证的重点。不管系统计划得有多好,空数据值的问题总是存在。本文探讨了在SQL Server中处理这些值时涉及的3
- 引言这算是一个高级用法了,前面我们只说到对类型、变量的几种反射的用法,包括如何获取其值、其类型、以及如何重新设置新值。但是在项目应用中,另外
- Python函数用法和底层分析函数是可重用的程序代码块。函数的作用,不仅可以实现代码的复用,更能实现代码的一致性。一致性指的是,只要修改函数
- 一、命令提示符窗口安装卸载1、安装第一种,最常用的,初学者也是基本都是用的这个方法,直接在cmd里面安装。首先键盘按住win+r就会弹出来运
- 查看依赖包及对应的版本号信息的方法有两种:方法1:pip list 方法2:pip freeze这两个同时适用于Windows和Linux系
- '把pattern 又修改了下'code
- 查询到效率低的 SQL 语句 后,可以通过 EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在