SQL基础:语句执行顺序

SQL入门

select * from table;

SQL实战题目

  • 有下面一个表 t ,存储了每个商品类别的成交明细,我们需要通过下面这张表获取订单量大于10对应的类别,并从中取出订单量前3的商品类别,会有一些测试的订单(id=xxx的为测试),我们需要过滤掉。
id order_id
c1 1
c1 2
c1 3
c2 4
c2 5
c3 6
... ...
c100 10000

为了满足需求,SQL可以这样子写:

select
    id,
    count(order_id) as sales
from
    t
where id <> "xxx"
group by
    id
having
    count(order_id) > 10
order by
    count(order_id) desc
limit 3;

代码中涉及SQL关键词:selectfromwheregroup byhavingorder bylimit

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

原文地址:https://www.cnblogs.com/hider/p/11612907.html

时间: 2024-07-28 21:17:11

SQL基础:语句执行顺序的相关文章

SQL 查询语句执行顺序

Select 查询语句是实际工作最常用的SQL语句了,下面是Select的语句的执行顺序,大家可以参考Select语句的执行顺序来优化高效SQL语句. 个人觉得写出高效查询语句的一个指导方针是: 尽可能优先缩小查询范围. (8)SELECT (9) [DISTINCT] (11) [Top n] 传回结果列表[INTO 新数据表名称] (1) FROM 数据表 (3) [INNER | LFT | RIGHT] JOIN 数据表 (2) ON <数据表JOIN的条件> (4) [WHERE &

python 3 mysql sql逻辑查询语句执行顺序

python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <havin

mysql第四篇--SQL逻辑查询语句执行顺序

mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition&g

SQL逻辑查询语句执行顺序

SELECT语句语法顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by_list> HAVING <having_condition> ORDER BY <order_b

SQL语言逻辑执行顺序

SQL语言逻辑执行顺序 2012-12-18 16:18:13 分类: 数据库开发技术 查询的逻辑执行顺序 FROM < left_table> ON < join_condition> < join_type> JOIN < right_table> WHERE < where_condition> GROUP BY < group_by_list> WITH {cube | rollup} HAVING < having_c

Mysql 语句执行顺序

转载自:http://blog.csdn.net/jintao_ma/article/details/51253356 1.这样一个问题,作为一个开发人员需要掌握数据库的哪些东西?  在开发中涉及到数据库,基本上只用到了sql语句,如何写sql以及对其进行优化就比较重要,那些mysql的厚本书籍针对的是DBA,我们只需要学习其中的sql就可以了. 2.既然会写sql是目标,那么怎么才能写好sql.学习下面几点: 1)Mysql的执行顺序,这个是写sql的核心,之前遇到的一些错误就是因为对其不了解

mysql语句执行顺序

今天工作中遇到多个表关联查询需求,其实这种需求也不是今天才遇到,之前多多少少都有遇到过,个人非常不喜欢用关联查询,觉得会拖慢数据库,而且对关联查询的语句执行顺序有很多的不明白,但是今天这个需求要使用四个表关联查询,如果一个一个的查,觉得太麻烦,而且现在使用yii2.0的框架,通过hasone和joinwith函数可以很方便的关联查询,不用自己再去写sql查询语句.问题是解决了,但是对多个表的关联查询顺序的疑问却是一点也没有降低,于是就花点时间研究了下,发现一篇不错的文章.转载如下: MySQL的

T-SQL查询:语句执行顺序

原文:T-SQL查询:语句执行顺序 读书笔记:<Microsoft SQL Server 2008技术内幕:T-SQL查询> ===============  T-SQL查询的执行顺序 =============== =============== T-SQL查询的示意图 ===============

SQL的where执行顺序

SQL的where执行顺序 1 mysql 从左到右. 一个原则,排除越多的条件放到第一个 例子:抄的. SELECT … WHERE p.languages_id = 1 AND m.languages_id = 1 AND c.languages_id = 1 AND t.languages_id = 1 AND p.products_id IN (472,474) 这样查询需要20多秒,虽然在各个字段上都建立了索引.用分析Explain SQL一分析,发现在第一次分析过程中就返回了几万条数

hive高阶1--sql和hive语句执行顺序、explain查看执行计划、group by生成MR

hive语句执行顺序 msyql语句执行顺序 代码写的顺序: select ... from... where.... group by... having... order by.. 或者 from ... select ... 代码的执行顺序: from... where...group by... having.... select ... order by... hive 语句执行顺序 大致顺序 from... where.... select...group by... having