SQL基本功(三)-- 聚合与排序(1),这份字节跳动历年校招Python面试真题解析

子句的书写顺序

1. SELECT → 2. FROM → 3. WHERE → 4. GROUP BY(SQL子句的顺序不能改变,也不能互相替换。)

GROUP BY 和 WHERE 并用时 SELECT 语句的执行顺序

FROM → WHERE → GROUP BY → SELECT

为聚合结果指定条件

=========

HAVING 子句的语法如下所示:HAVING 子句必须写在 GROUP BY 子句之后,其在 DBMS 内部的执行顺序也排在 GROUP BY 子句之后。

SELECT < 列名 1>, < 列名 2>, < 列名 3>, ……

FROM < 表名 >

GROUP BY < 列名 1>, < 列名 2>, < 列名 3>, ……

HAVING < 分组结果对应的条件 >

使用 HAVING 子句时 SELECT 语句的顺序

SELECT → FROM → WHERE → GROUP BY → HAVING

HAVING 子句中能够使用的 3 种要素如下所示

  • 常数

  • 聚合函数

  • GROUP BY 子句中指定的列名(即聚合键)

  • **WHERE 子句 = 指定行所对应的条件

HAVING 子句 = 指定组所对应的条件**

  • 通常情况下,为了得到相同的结果,将条件写在 WHERE 子句中要比写在 HAVING 子句中的处理速度更快,返回结果所需的时间更短。

对查询结果进行排序

=========

ORDER BY 子句,**不论何种情况, ORDER BY 子句都需要写在 SELECT 语句的末尾。**这

是因为对数据行进行排序的操作必须在结果即将返回时执行。 ORDER BY子句中书写的列名称为排序键。降序排列时关键字是DESC,升序排列时关键字是ASC,未指定 ORDER BY 子句中排列顺序时会默认使用升序进行排列,排序键中包含 NULL 时,会在开头或末尾进行汇总

SELECT < 列名 1>, < 列名 2>, < 列名 3>, ……

FROM < 表名 >

ORDER BY < 排序基准列 1>, < 排序基准列 2>, ……

子句的书写顺序

**1. SELECT 子句 → 2. FROM 子句 → 3. WHERE 子句 → 4. GROUP BY 子句 →

5. HAVING 子句 → 6. ORDER BY 子句**

如果想要对该顺序的商品进行更细致的排序的话,就需要再添加一个排序键。规则是优先使用左侧的键,如果该列存在相同值的话,再接着参考右侧的键。当然,也可以同时使用 3 个以上的排序键。

使用 HAVING 子句时 SELECT 语句的顺序

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

因此在使用ODER BY排序的时候可以使用GROUP BY中设置的别名,在 ORDER BY 子句中可以使用 SELECT 子句中未使用的列和聚合函数。

知识检验

========

1、请指出下述 SELECT 语句中所有的语法错误。

SELECT product_id, SUM(product_name)

– 本 SELECT 语句中存在错误。

FROM Product

GROUP BY product_type

WHERE regist_date > ‘2009-09-01’;

错误:

①使用了字符类型的列(product_name)作为 SUM 函数的参数

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V:vip1024c 备注Python获取(资料价值较高,非无偿)
img

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值