单表:SQL语句关键字的执行顺序
表和数据:
-- 创建表
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` tinyint(4) DEFAULT '',
`gender` enum('男','女') NOT NULL DEFAULT '女',
`salary` decimal(10,2) NOT NULL DEFAULT '2500.00',
`hire_date` date NOT NULL,
`dept_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) -- 创建数据
-- 教学部
INSERT INTO `person` VALUES ('', 'A', '', '女', '53000.00', '2010-06-21', '');
INSERT INTO `person` VALUES ('', 'B', '', '男', '8000.00', '2011-02-21', '');
INSERT INTO `person` VALUES ('', 'C', '', '男', '6500.00', '2015-06-21', '');
INSERT INTO `person` VALUES ('', 'D', '', '女', '6680.00', '2014-06-21', '');
-- 销售部
INSERT INTO `person` VALUES ('', 'E', '', '女', '3000.00', '2015-02-21', '');
INSERT INTO `person` VALUES ('', 'F', '', '女', '2000.00', '2018-01-30', '');
INSERT INTO `person` VALUES ('', 'G', '', '女', '2000.00', '2018-02-27', '');
INSERT INTO `person` VALUES ('', 'H', '', '女', '2000.00', '2015-06-21', '');
-- 市场部
INSERT INTO `person` VALUES ('', 'I', '', '女', '4000.00', '2014-07-21', '');
INSERT INTO `person` VALUES ('', 'J', '', '女', '4000.00', '2015-07-15', '');
-- 人事部
INSERT INTO `person` VALUES ('', 'K', '', '女', '5000.00', '2014-06-21', '');
-- 鼓励部
INSERT INTO `person` VALUES ('', 'L', '', '女', '1000000.00', '2018-02-21', null);
SQL语句关键字的执行顺序:
-- 查询:姓名不同人员的最高工资,并且要求工资大于5000元,同时按最大工资进行排序并取出前5条
select name, max(salary)
from person
where name is not null
group by name
having max(salary)>5000
order by max(salary)
limit 0,5;
在上面的示例中 SQL 语句的执行顺序如下:
- 首先执行 FROM 子句,从 person 表 组装数据源的数据
- 执行 WHERE 子句,筛选 person 表中 name 不为 NULL 的数据
- 执行 GROUP BY 子句,把 person 表按 name 列进行分组
- 计算 max() 聚集函数,按 工资 求出工资中最大的一些数值
- 执行 HAVING 子句,筛选工资大于 5000 的人员
- 执行 ORDER BY 子句,把最后的结果按 Max(工资) 进行排序
- 最后执行 LIMIT 子句,进行分页查询
执行顺序:from -> where -> group by -> having -> select -> order by -> limit
单表:SQL语句关键字的执行顺序的更多相关文章
- MySQL数据库之单表查询中关键字的执行顺序
目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...
- {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析
MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...
- SQL语句完整的执行顺序(02)
这是对SQL语句完整的执行顺序(01)的补充: 数据库是mysql,使用的数据库表名称是my_student. 表的完整数据信息是: 完整语法是: Select [select选项] 字段列表[字段别 ...
- SqlServer中Sql语句的逻辑执行顺序
准备数据 Sql脚本如下,两张表,一张客户表Customers只包含customerid和city字段,一张订单表Orders包含orderid和customerid(关联Customers的cust ...
- SQL语句完整的执行顺序(01)
一.sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义. 2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限. 3)视图转换,将涉 ...
- mysql 中sql语句关键字的书写顺序与执行顺序
书写顺序: select -> from -> where -> group by -> having -> order by 执行顺序: from -> wher ...
- sql 语句的先后执行顺序
例:查询语句中select from where group by having order by的执行顺序 一般以为会按照逻辑思维执行,为: 查询中用到的关键词主要包含六个,并且他们的顺序依次为 ...
- SQL中关键字的执行顺序
作为一个SQL新手,看到每种不熟悉的关键字时已经够迷茫了,可往往见到的语句关键字顺序还是各种各样,太难理解了.网上搜索了两篇文章,总结一下: 关于Sql关键字SELECT FROM GROUP ORD ...
- sql语句定义和执行顺序
sql语句定义的顺序 (1) SELECT (2)DISTINCT<select_list> (3) FROM <left_table> (4) <join_type&g ...
随机推荐
- CSS垂直居中完美有用实例
<!DOCTYPE HTML> <html> <head> <meta meta chars ...
- Java 实现的断点下载
该断点下载可应用于浏览器或者迅雷等下载工具的下载,实现方式有多种多样的,本文仅仅研究了单线程的下载.迅雷等下载工具会自己主动将下载资源分块并记录每块的起始位置,然后依据系统性能.起多线程下载. 1. ...
- XAML实例教程系列 - 命名空间(NameSpace) 三
XAML实例教程系列 - 命名空间(NameSpace) 2012-05-28 14:14 by jv9, 2205 阅读, 10 评论, 收藏, 编辑 上一篇曾提及XAML中,每个对象元素的声明是对 ...
- SQL server触发器中 update insert delete 分别给写个例子被。
SQL server触发器中 update insert delete 分别给写个例子以及解释下例子的作用和意思被, 万分感谢!!!! 主要想知道下各个语句的书写规范. INSERT: 表1 (ID, ...
- 统计ES性能的python脚本
思路:通过http请求获取es集群中某一index的索引docs数目变化来进行ES性能统计 import time from datetime import datetime import urlli ...
- CodeForces - 556D
D. Case of Fugitive time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- Codeforces--631A--Interview(位运算)
Interview Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:262144KB ...
- bzoj 1822 冷冻波
题目大意: 在游戏中,巫妖是一种强大的英雄,它的技能Frozen Nova每次可以杀死一个小精灵 我们认为,巫妖和小精灵都可以看成是平面上的点. 当巫妖和小精灵之间的直线距离不超过R,且巫妖和小精灵的 ...
- B1877 [SDOI2009]晨跑 费用流
其实之前写过一个板子,但是一点印象都没有,所以今天重写了一下,顺便把这个题当成板子就行了. 其实费用流就是把bfs换成spfa,但是中间有一个原则,就是费用优先,在费用(就是c)上跑spfa,顺便求出 ...
- 数据库登陆失败原因: 未与信任 SQL Server 连接相关联
解决方案:用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接相关联. 问题简述: 用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接相关联. 说明: 执行当前 ...