SQL查询语句的书写顺序、执行顺序和注意事项

1,SQL查询语句常用关键字

select 、from、where、group by、having、order by

select :指定查看结果集中的那个列或列的计算结果

from :从哪张表查询数据

where :筛选过滤条件

group by :将上面过滤出的数据,进行分组

having :对上面已经分组的数据进行过滤的条件

order by :对查询到的结果进行排序。升序:asc,降序:desc

2,SQL查询语句的书写顺序

书写顺序:

​ select > from > where > group by > having > order by

其中selectfrom关键字是必不可少的,其他关键字是可选的。

3,SQL查询语句的执行顺序

执行顺序:

​ from > where > group by > having > select > order by

select 之前:负责检索数据。

select和order by : 负责设置查看规则。

4,注意事项

下面将要介绍在使用中的注意事项,可以很大的提升查询效率。

1,from后面的表关联,解析是自右向左解析的(最后面的那个表为驱动表,尽量将数据量小的表放在后面来进行关联,即用小表去匹配大表)。

2,where子句的执行顺序不同数据库顺序不同:Oracle自右向左,mysql则是自左向右,但同样的思想:把能筛选出小量数据的条件先执行,同样用小表去匹配大表。

3,尽量少使用having语句,因为很耗资源。

4,select语句中尽量指明要查询的字段,少用*号。

5,order by子句同样很耗资源,尽量少用,其执行顺序为自左向右。

5,小结

本篇文章简单介绍了SQL查询语句的书写顺序、执行顺序和注意事项,由于纯手打,难免会有纰漏,如果发现错误的地方,请第一时间告诉我,这将是我进步的一个很重要的环节。

SQL查询语句的书写顺序、执行顺序和注意事项相关推荐

  1. oracle中简单查询语句的格式及执行顺序分析

    一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ...   [HAVING ...]]--GROUP BY对前面wh ...

  2. SQL查询语句执行顺序详解

    查询操作是关系数据库中使用最为频繁的操作,也是构成其他SQL语句(如DELETE.UPDATE)的基础.当要删除或更新某些记录时,首先要查询出这些记录,然后再对其进行相应的SQL操作.因此基于SELE ...

  3. SQL优化之SQL查询语句的执行顺序解析

    SQL语句执行顺序 SQL语句执行顺序 结合上图,整理出如下伪SQL查询语句. SQL语句执行顺序 从这个顺序中我们可以发现,所有的查询语句都是从 FROM 开始执行的.在实际执行过程中,每个步骤都会 ...

  4. 灵魂拷问,SQL 查询语句先执行 SELECT吗?

    大家平时和SQL语句打交道的时间肯定不少,有写过简单SQL的,也有为很复杂的业务逻辑的SQL绞尽脑汁的,那我在这里问下大家一个简单的问题:那你知道SQl语句的查询顺序是怎么样的吗? 当我刚看到这个问题 ...

  5. MySQL番外篇:一条SQL查询语句是如何执行的?

    在面试的过程中,有的面试官会给出一条简单的SQL查询语句,让简单说一下执行的过程. SELECT * FROM emp where age=30; 以下问MySQL的基本架构图,从中可以看出SQL语句 ...

  6. SQL查询语句总是先执行SELECT?你们都错了。。。

    来源 | infoq.cn/article/Oke8hgilga3PTZ3gWvbg 很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别人解释什么是窗口函数,我在网上搜索"是否 ...

  7. SQL 查询语句总是先执行 SELECT?你们都错了

    很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别人解释什么是窗口函数,我在网上搜索"是否可以对窗口函数返回的结果进行过滤"这个问题,得出的结论是"窗口函数 ...

  8. SQL 查询语句总是先执行 SELECT?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"1024"领取惊喜资料 很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟 ...

  9. 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...

    一.第一节:一条sql查询语句是怎样执行的 5.5.5版本以后,默认使用存储引擎为InnoDB 不使用查询缓存,MySQL8.0没有查询缓存这个功能 总体来说:MySQL分为service层和存储引擎 ...

最新文章

  1. OCR:精准、稳定、易用的文字识别
  2. volitile关键字
  3. 【pmcaff】那些 2015 年将出现的产品,你最期待哪款?
  4. Java ServletRequestListener监听器的使用
  5. java double用法_Java Double doubleToLongBits()用法及代码示例
  6. matlab phog,科学网—UCF 大牛 Prof. Shah 课题组代码合集 - 张重的博文
  7. c语言计算成绩大于90为优秀,输入一个分数,如小于60分,则输出不及格;如大于60小于85,输出良好;85分以上则为优秀。 用c语言编写...
  8. 详细整理Spring事务失效的具体场景及解决方案
  9. WF4.0实战系列索引
  10. ffplay播放器移植VC的工程:ffplay for MFC
  11. c++ 字符减去‘0’_字符串为什么减‘0’成整数
  12. 刀片服务器更换纽扣电池系统起不来,莆田四龄童将纽扣电池塞入鼻孔 医生建议手术遭拒...
  13. 操作系统概念第三章部分作业题答案
  14. Java调用ffmepg+mencoder视频格式转换(*)
  15. Vmware安装BT5进入不了图形界面怎么办(KDE版)
  16. 北航计算机学院考研英语一还是二,2020北京航空航天大学计算机考研考试科目知多少?...
  17. vue二级路由和重定向问题
  18. 软件外包公司真的去不得吗?
  19. 基恩士KV7500,基恩士触摸屏,搭载KV-SH04PL四轴运动控制模块,KV-C32XDT.
  20. loss.item()在深度学习作用

热门文章

  1. javaScript基础面试题 ---闭包
  2. ngzorro 自定义指令操作 nz-table 列拖动缩放
  3. 我的windows开发环境设定与日常使用指南
  4. 金蝶K3物料生效流程+物料批量导入功能开发
  5. 9-ICMP报文种类
  6. 路由环路的产生及解决
  7. JavaEE 企业级分布式高级架构师(十五)FastDFS分布式文件服务器(1)
  8. ios上1像素的问题
  9. 信息系统项目管理师论文范文(一)
  10. 北美电影票房Top10-2019年12月20日:《星战9》1.77亿不及预期