首页 > 试题广场 >

sql语句的执行顺序

[单选题]

select语句完整语法如下:

  1. select  目标表的列名或列表达式序列
  2. from 基本表名和(或)视图序列
  3. [where 行条件表达式]
  4. [group by  列名序列 [having  组条件表达式]]
  5. [order by 列名 [asc | desc]]
则sql语句的执行顺序是:

  • 1),3),4),2),5)
  • 2),3),4),1),5)
  • 2),4),3),1),5)
  • 2),3),5),1),4)
写法顺序:select--from--where--group by--having--order by 
执行顺序:from--where--group by--having--select--order by
就是select要放后面,如果有order by,则order by放最后,因为order by 是对结果进行排序
发表于 2020-03-02 16:16:35 回复(6)
执行顺序
发表于 2019-09-16 16:57:09 回复(0)
先找到需要的表,再根据where选择表中的数据,最后选择出来进行排序
发表于 2020-04-09 18:30:13 回复(0)
一、sql执行顺序 
(1)from 
(3) join 
(2) on 
(4) where 
(5)group by(开始使用select中的别名,后面的语句中都可以使用)
(6) avg,sum.... 
(7)having 
(8) select 
(9) distinct 
(10) order by
发表于 2020-07-03 15:59:28 回复(3)
  1. 先从from字句一个表或多个表创建工作表
  2. 将where条件应用于1)的工作表,保留满足条件的行
  3. GroupBy 将2)的结果分成多个组
  4. Having 将条件应用于3)组合的条件过滤,只保留符合要求的组。
  5. Order By对结果进行排序。
发表于 2019-07-14 18:29:59 回复(0)
  • SQL执行顺序
(8) SELECT (9) DISTINCT <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 | ROLLUP}
(7) HAVING <having_condition>
(10) ORDER BY <order_by_list>
(11) LIMIT <limit_number>
  • (1) from:对左表left-table和右表right-table执行笛卡尔积(a*b),形成虚拟表VT1
  • (2) on: 对虚拟表VT1进行on条件进行筛选,只有符合条件的记录才会插入到虚拟表VT2中
  • (3) join: 指定out join会将未匹配行添加到VT2产生VT3,若有多张表,则会重复(1)~(3)
  • (4) where: 对VT3进行条件过滤,形成VT4, where条件是从左向右执行的
  • (5) group by: 对VT4进行分组操作得到VT5
  • (6) cube | rollup: 对VT5进行cube | rollup操作得到VT6
  • (7) having: 对VT6进行过滤得到VT7
  • (8) select: 执行选择操作得到VT8
  • (9) distinct: 对VT8进行去重,得到VT9
  • (10) order by: 对VT9进行排序,得到VT10
  • (11) limit: 对记录进行截取,得到VT11返回给用户
发表于 2020-10-03 21:34:45 回复(0)
首先要确定从哪里取,即为from,然后就是限制的条件啦,筛选出来就选择select,当然最后要以何种顺序呈现,即为order by
发表于 2020-03-31 13:44:50 回复(0)
写法顺序:select--from--where--group by--having--order by 
执行顺序:from--where--group by--having--select--order by
就是select要放后面,如果有order by,则order by放最后,因为order by 是对结果进行排序
发表于 2021-11-13 09:46:07 回复(0)
from where group by having order by
发表于 2024-03-04 01:58:54 回复(0)
我这是不是选项错了,我还以为我选错了。

发表于 2023-05-27 11:18:54 回复(0)
写入顺序。 select from where group by having order by 执行顺序。from where group by having select order by
编辑于 2023-03-08 11:25:15 回复(0)
书写顺序是select--from--where--group by--having--order by
执行顺序是from--where--group by--having--select--order by
发表于 2023-01-02 10:04:58 回复(0)
搞半天是按行走的,我以为按中括号
发表于 2022-07-03 19:09:55 回复(0)
写法顺序:select- from -where- group by  -having -order by 
执行顺序:from -where- group by  -having -select -order by 
order by 是对结果进行排序
发表于 2022-04-06 15:03:57 回复(0)
执行顺序. from where group by having select order by
发表于 2022-01-15 19:24:21 回复(0)
写法顺序:select—from—where—group by—having—order by执行顺序:from—where—group by—having—select—order by
编辑于 2021-11-17 19:53:41 回复(0)
尴尬,答案是23415就是先执行2那个from语句,我看成数字越小就先执行那条语句。。。。
发表于 2021-10-25 09:02:18 回复(0)
having用于对聚合函数的输出作出限制
发表于 2021-10-17 09:39:27 回复(0)
先条件再分组
发表于 2021-08-22 11:14:48 回复(0)
这是sql面试经常问的
发表于 2021-08-18 04:27:56 回复(0)