SQL的编写顺序和执行顺序,以及一些其他问题

Posted jasonboren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL的编写顺序和执行顺序,以及一些其他问题相关的知识,希望对你有一定的参考价值。

SQL即结构化查询语言。也就是用来从数据库中操作数据的,增删改查CRUD。

一,sql的分类,大致有四类:

  1)DDL : 数据定义语言 create alter drop truncate
  2)DML : 数据操纵语言 insert update delete
  3)DCL : 数据控制语言 安全 授权 grant revoke
  4)DQL : 数据查询语言 select from子句 where子句


二,查询语句的结构

  select [列名] [*] from 表名 [where 条件] [group by 分组条件] [having 过滤] [order by 排序]

三,sql的书写顺序

  SQL的书写顺序:select ...from ..where...group by having...order by ....

四,sql的执行顺序

  sql的执行顺序:from ...where... group by... having... select.... order by...

先是从那张表以什么条件查询出来,然后是以什么条件分组,最后将查询查询出来的数据进行排序输出。

五,where子句和having子句的区别

  where 后不能接聚合函数(也就是多行函数),可以是单行函数,having 可以接聚合函数。

 六,关于别名的问题

  使用as 关键字, 可以省略,别名中不能有特殊字符或者关键字, 如果有就加双引号。

七,关于在查询中遇到特殊字符

  在查询中遇到特殊字符需要使用转义字符 escape,

  例如 查询名字中包含%的员工信息,select * from emp where ename like ‘%\%%‘ escape ‘\‘;

八,关于排序时null值得处理

  排序为null的问题可以使用nulls first|last来指定null值得显示位置,是之前显示还是最后显示。
  select * from emp order by comm desc nulls last|first;

以上是关于SQL的编写顺序和执行顺序,以及一些其他问题的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句的执行顺序

sql执行顺序以及on和where的区别

sql语句中的关键字有优先级,以及执行顺序吗?

mysql语句执行顺序

为啥 SQL Server 执行计划取决于比较顺序

SQL执行顺序