`
qudedong28
  • 浏览: 17933 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类

查询语句中select from where group by having order by的执行顺序

阅读更多
1.查询中用到的关键词主要包含六个,并且他们的顺序依次为
select--from--where--group by--having--order by
其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行
from--where--group by--having--select--order by,
from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by :按照什么样的顺序来查看返回的数据

2.from后面的表关联,是自右向左解析的
而where条件的解析顺序是自下而上的。
也就是说,在写SQL文的时候,尽量把数据量大的表放在最右边来进行关联,
而把能筛选出大量数据的条件放在where语句的最下面。
分享到:
评论
1 楼 tidelee 2013-04-20  
不错,留着以后学习用

相关推荐

    Sequelize中用group by进行分组聚合查询

    GROUP BY子句要和聚合函数配合使用才能完成分组查询,在SELECT查询的字段中,如果没有使用聚合函数就必须出现在ORDER BY子句中。分组查询后,查询结果为一个或多个列分组后的结果集。 GROUP BY语法 SELECT 列名, ...

    在执行SQL语句的时候,执行顺序和我们的语法顺序是一样的吗?有什么不同呢?

    SQL 语句的执行顺序跟其语句的语法顺序并不一致 一般而言 SQL 语句的语法顺序是: SELECT[DISTINCT] FROM WHERE ...2、SELECT 是在大部分语句执行了之后才执行的,严格的说是在 FROM 和 GROUP BY 之

    T-SQL高级查询

    select count(*), (sex * id) new from student where id > 2 group by sex * id order by sex * id; --group by all 所有分组 按照年龄分组,是所有的年龄 select count(*), age from student group by all age; ...

    T-SQL 查询语句的执行顺序解析

    (5)SELECT (5-2) DISTINCT(5-3)TOP()(5-1) <select_list>...(3)GROUP BY <group> (4)HAVING <having> (6)ORDER BY <order>;  每一步都会生成一个虚拟表,该虚拟表会作为下一步的输入。

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、查询出所有数据进行分组之后,和重复数据的重复次数的查询数据,先列下: select count...

    MySQL DQL - 执行顺序.md

    此Markdown文档提供了MySQL数据库中DQL查询语句的执行顺序。通过文档,您可以了解到查询语句中各个子句的执行顺序和作用。 示例代码展示了典型的DQL查询语句,并解释了其中各个子句的执行顺序和作用。了解这个执行...

    SQL Select语句完整的执行顺序

    1、from子句组装来自不同数据源的数据; 2、where子句基于指定的条件对记录行进行筛选; 3、group by子句将数据... 标准顺序的 SQL 语句为: Select 考生姓名, max(总成绩) as max总成绩 from tb_Grade where 考生姓名

    group by,having,order by的用法详解

    一,如果一个查询中使用了分组函数,任何不在分组函数中的列或表达式必须要在group by中... select job,avg(sal) from emp having avg(sal)>1500 group by job; 使用having子句时,oracle系统的处理顺序是: 1,首先对

    SQL 查询语句先执行 SELECT?兄弟你认真的么?

    SQL 查询的执行顺序是怎样的? 好像这个问题应该很好回答,毕竟自己已经写了无数个 SQL 查询了,有一些还很复杂的。还装不了这个逼了?! 但事实是,我仍然很难确切地说出它的顺序是怎样的。 言归正传,SELECT语句...

    HQL语句详解Select/update/deletefromwhere...

    Select/update/delete……from……where……groupby……having……orderby……asc/desc 其中的update/delete为Hibernate3中所新添加的功能,可见HQL查询非常类似于标准SQL查询。

    oracle select执行顺序的详解

    SQL Select语句完整的执行顺序:1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;...

    50个常用SQL语句,很好

    where S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where ...

    mysql查询语句的简单使用

    本文章介绍了mysql的一些查询语句,对于判断方面的知识不在赘述 mysql有关查询的语句分别有 SELECT FROM (ON) WHERE GROUP BY HAVING ORDER BY (ASC|DESC) 一般来说执行顺序也是上面所写 下面将分别解释每个语句的...

    SQL常用语句最好用的

    --在示例数据库Pubs中执行数据查询,要求如下: use pubs go --1、查询Titles表,返回所有royalty列非空的数据行; select * from dbo.titles where royalty is not null --2、查询Titles表,返回advance列值大于...

    mysql学习笔记之完整的select语句用法实例详解

    本文实例讲述了mysql学习笔记之完整的select语句用法。...完整语法:select 去重选项 字段列表 [as 字段别名] from 数据源 [where子句] [group by 子句] [having子句] [order by 子句] [limit子句];

    PostgreSQL HAVING 子句

    PostgreSQL HAVING 子句 HAVING 子句可以让我们筛选...HAVING 子句必须放置于 GROUP BY 子句后面,ORDER BY 子句前面,下面是 HAVING 子句在 SELECT 语句中基础语法: SELECT column1, column2 FROM table1, table2 WHE

    情境四-公司管理数据库系统的查询.doc

    ] [ GROUP BY 〈列名1> [HAVING 〈表达式〉 ] ] [ ORDER BY 〈列名2> [ ASC " DESC ] ] 其中,包含子句SELECT ,INTO,FROM,WHERE,GROUP BY,HAVING,ORDER BY等,每个子句都有各自的用法和功能。 SELECT子句:...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    select EMP_DEP,count(*) from EMPLOYEES where EMP_SALARY>=500 group by EMP_DEP; 3.3、带条件的groub by 字段 having,利用HAVING语句过滤分组数据 having 子句的作用是筛选满足条件的组,即在分组之后过滤...

    MYSQL常用命令大全

    mysql> select * from MyClass order by id limit 0,2; 或者: mysql> select * from MyClass limit 0,2; 6、删除表中数据 命令:delete from 表名 where 表达式 例如:删除表 MyClass中编号为1 的记录 mysql> ...

Global site tag (gtag.js) - Google Analytics