表和数据:

-- 创建表
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 语句的执行顺序如下:

  1. 首先执行 FROM 子句,从 person 表 组装数据源的数据
  2. 执行 WHERE 子句,筛选 person 表中 name 不为 NULL 的数据
  3. 执行 GROUP BY 子句,把 person 表按 name 列进行分组
  4. 计算 max() 聚集函数,按 工资 求出工资中最大的一些数值
  5. 执行 HAVING 子句,筛选工资大于 5000 的人员
  6. 执行 ORDER BY 子句,把最后的结果按 Max(工资) 进行排序
  7. 最后执行 LIMIT 子句,进行分页查询

执行顺序:from -> where -> group by -> having -> select -> order by -> limit

单表:SQL语句关键字的执行顺序的更多相关文章

  1. MySQL数据库之单表查询中关键字的执行顺序

    目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...

  2. {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析

    MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...

  3. SQL语句完整的执行顺序(02)

    这是对SQL语句完整的执行顺序(01)的补充: 数据库是mysql,使用的数据库表名称是my_student. 表的完整数据信息是: 完整语法是: Select [select选项] 字段列表[字段别 ...

  4. SqlServer中Sql语句的逻辑执行顺序

    准备数据 Sql脚本如下,两张表,一张客户表Customers只包含customerid和city字段,一张订单表Orders包含orderid和customerid(关联Customers的cust ...

  5. SQL语句完整的执行顺序(01)

    一.sql语句的执行步骤:  1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义.  2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限.  3)视图转换,将涉 ...

  6. mysql 中sql语句关键字的书写顺序与执行顺序

    书写顺序: select -> from -> where -> group by -> having -> order by 执行顺序: from -> wher ...

  7. sql 语句的先后执行顺序

    例:查询语句中select from where group by having order by的执行顺序 一般以为会按照逻辑思维执行,为: 查询中用到的关键词主要包含六个,并且他们的顺序依次为  ...

  8. SQL中关键字的执行顺序

    作为一个SQL新手,看到每种不熟悉的关键字时已经够迷茫了,可往往见到的语句关键字顺序还是各种各样,太难理解了.网上搜索了两篇文章,总结一下: 关于Sql关键字SELECT FROM GROUP ORD ...

  9. sql语句定义和执行顺序

    sql语句定义的顺序 (1) SELECT (2)DISTINCT<select_list> (3) FROM <left_table> (4) <join_type&g ...

随机推荐

  1. 全然卸载oracle11g步骤

    iLife's 博客http://blog.csdn.net/fei1502816 全然卸载oracle11g步骤: 1. 開始->设置->控制面板->管理工具->服务 停止全 ...

  2. PhoneGap:JS跨域请求

    PhoneGap开发,理论上好处多多.但因为javascript是其中的主角,并且是直接存放于手机,跟服务器数据交互,就会有一个跨域访问的问题. 当然,这个问题肯定有解决方案,不然的话,这种利用Pho ...

  3. BestCoder Round #60/HDU 5505 暴力数学

    GT and numbers 问题描述 给出两个数NN和MM. NN每次可以乘上一个自己的因数变成新的NN. 求最初的NN到MM至少需要几步. 如果永远也到不了输出-1−1. 输入描述 第一行读入一个 ...

  4. 【bzoj1002】 [FJOI2007]轮状病毒DP

    递推+环状特殊处理+高精度   #include<algorithm> #include<iostream> #include<cstdlib> #include& ...

  5. Head First 设计模式 —— 单例模式(Singleton)

    单例模式简要定义:单例模式确保一个类只有一个实例,并提供一个全局访问点. 1. 如何保证一个类只有一个实例,且这个实例易于被访问? lazy evaluation:在用到的时候才创建对象. 全局变量: ...

  6. CentOS7 iso封装语句

    mkisofs -o /srv/neutron-controller.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot - ...

  7. vs2010 下使用C#开发activeX控件

    1.创建一个类库 2.项目属性-应用程序-程序集信息-"使程序集COM可见"勾上; 3.项目属性-生成-"为COM互操作注册"勾上.(这个折腾一天,否则注册事件 ...

  8. 使用psutil模块获取电脑运行信息

    psutil是python的一个用于获取cpu信息的模块,非常好使,以下附上官方的一些example: CPU-> Examples >>> import psutil > ...

  9. Treap(模板)

    人生第一次平衡树,Treap板子 #include<iostream> #include<cstdio> #include<cstring> #include< ...

  10. 【原创】Vue项目中各种功能的实现

    已完成: 后台的管理功能: 这里用的组件是 element-UI  ====> NavMenu ◆首先是排版 : <div class="manage-page fillcont ...