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;

原文地址:https://www.cnblogs.com/jasonboren/p/10908750.html

时间: 2024-11-15 00:27:44

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

SQL Select语句完整的执行顺序

SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函数进行计算: 5.使用having子句筛选分组: 6.计算所有的表达式: 7.select 的字段:8.使用order by对结果集进行排序.SQL语言不同于其他编程语言的最明显特征是处理代码的顺序.在大多数据库语言中,代码按编码顺序被处理.但在SQL语句中,第一个被处理的子句式FROM,而不是第一

SQL 中的语法顺序与执行顺序(转)

很多程序员都很抵触SQL.其实SQL是一整为数不多的声明性语言,只是它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言. 今天大家共同学习下SQL的语法顺序与执行顺序.(入门级的.大神们可以直接点退出了哈.) SQL 是一种声明式语言 首先要把这个概念记在脑中:“声明”. SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果. SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来从数据库中挑选

程序顺序与执行顺序

这是两个不同的概念. 程序顺序指的是代码的先后顺序. 执行顺序可能受到重排序的影响,不一定和程序顺序保持一致,具有不确定性. 见: <单线程程序语义> <haappen before 规则> 原文地址:https://www.cnblogs.com/xmsx/p/9716583.html

sql的基础知识之执行顺序

总结sql的执行顺序: (8)SELECT (9)DISTINCT  (11)<Top Num> <select list> (1)FROM [left_table] (3)<join_type> JOIN <right_table> (2)ON <join_condition> (4)WHERE <where_condition> (5)GROUP BY <group_by_list> (6)WITH <CUBE 

SQL 中 SELECT 语句的执行顺序

好像自已在书写 SQL 语句时由于不清楚各个关键字的执行顺序, 往往组织的 SQL 语句缺少很好的逻辑, 凭感觉 "拼凑" ( 不好意思, 如果您的 SQL 语句也经常 "拼凑", 那您是不是得好好反省一下呢?, 呵呵). 确实是爽了自己, 可苦了机器, 服务器还需要在我们的杂乱无章的 SQL 语句中寻找它下一句需要执行的关键字在哪里. 效率嘛, 由于我们的感觉神经对秒以下的变化实在不敏感, 暂且就认为自已写的 SQL 顺序无关紧要, "反正没什么变化!&

SQL 语句与性能之执行顺序

select * , t3.Name from t1 left join t2 on t1.sysno = t2.Asysno left join t3 on t3.sysno = t2.Bsysno 上面SQL语句中,t3表数据很多;此时查询t3.Name会很慢,如果把t3和name干掉,秒中就能查询出数据,这样就有了这种sql select * , (select top 1 name from t3 where sysno =t2.Bsysno)Name from t1 left join

PL/SQL的if语句的执行顺序

PL/SQL的if语句的语法定义如下: IF condition THEN {...statements...} ELSIF condition THEN {...statements...} ELSE {...statements...} END IF; 由于PL/SQL不像高级语言,没有大括号,如果statements中包含了多个操作,这些操作是否都会执行呢? 下面写了一个函数做一个实验,来验证if语句的执行顺序: <span style="font-size:18px;"&

SQL 中的语法顺序与执行顺序

FROM : HOME SQL 是一种声明式语言 SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果. SQL 语言声明的是结果集的属性,计算机会根据 SQL 所声明的内容来从数据库中挑选出符合声明的数据,而不是像传统编程思维去指示计算机如何操作. SQL 语句的语法顺序是: SELECT[DISTINCT] FROM WHERE GROUP BY HAVING UNION ORDER BY 执行顺序为: FROM WHERE GROUP

SQL语句的执行顺序--知道执行顺序,顺便可以做优化了,对吧

今天,被面试问到了一个问题,SQL的执行顺序,当时想的是,SQL有啥执行顺序,从上往下?当时瞎胡邹,说先执行from,为啥,不执行from怎么知道操作查询的是什么表,对吧,哎嘿,还蒙对了.下来之后总结了一下 (一)先讲讲查询吧 查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--where--group by--having--order by 其中sele