极客视点
极客时间编辑部
极客时间编辑部
113245 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/06:21
登录|注册

一文搞懂SQL:基础知识篇

讲述:丁婵大小:8.73M时长:06:21
你好,欢迎收听极客视点。
SQL(Structured Query Language)是一种古老而简洁的程序设计语言。一直被各种吐槽,但却有着众多语言所难得的漫长寿命,并展现出极好的拓展性,在不同时期衍生出不同的子语言。为便于你了解 SQL 基础知识,腾讯 CDG 数据分析师李扬洁对日常工作中常用的 SQL 基础知识进行了总结,发文于公众号“腾讯大讲堂”,供你参考。

1. 库表基本操作

数据库的连接与切换,数据表的创建与删除,是使用 SQL 进行库表预览的基本操作。这些基本操作,可以通过前端的可视化界面进行,也可以从后台直连数据库展开,需由使用者所拥有的权限级别来选择。
除了一些常规的每日运行的计算任务外,很多时候只是单纯地对一张表进行处理,比如插入 / 删除几条数据、更新某个字段值。这些操作往往是单次的,局部的,目的清晰,所以掌握其中的关键字就可以实现。
还有视图应用,相当于在统计逻辑和实际库表之间提供了一种折中的方案。完成这个功能,逻辑上是必须有这么几道工序的,但又不想在每一道工序里都落地一张实际的数据表,显得繁琐而臃肿,那就引入视图吧,把这些中间的工序用视图的形式去实现和替代。

2. 数据查询语句

SQL 作为面向数据库表的基础语言,用户群体具有多样性。不同用户群体对 SQL 的侧重点是有差异的,但无论是哪一个群体,基本都绕不开数据查询语句,是一块必要内容。
能写一个简单查询语句,其实就已展开了和数据库表的对话过程。不管是哪种 SQL 的拓展语言,简单查询里的语法基本都还是一致的。
在简单查询的基础上,添加一些约束条件,也就是过滤查询。比如你可以用 like 或者 relike 来做正则匹配,也可以用 and 或者 or 这两个通配符对这些约束条件进行排列组合。
排序查询可以细分为两个场景,一个是在查询内部的排序,即根据某个字段的属性值进行表内部分区,对分区进行排序查询后输出,可以用 row_number 的形式来实现;另一个是把整个查询当做一个整体,对结果表进行排序查询后输出,用 order by 来实现即可。

3. 数据聚合与连接

数据查询语句不会影响原生的表结构,即原来的表是按照什么逻辑写的数据,查询结果里的数据也是基于这种逻辑,只是筛选了局部数据而已。但数据聚合与连接就不一样了,聚合会在纵向上改变原生表结构,连接则在横向上拓展了表结构。
要对一张表做数据聚合,其实理解了两个概念即可,维度和指标。维度是你要基于哪些字段来做聚合,指标是在这个维度之上,你想用什么汇总函数生成哪些指标。数据聚合的关键字是 group by,维度里的属性值仍来自于原生表,指标则是新生成的汇总值。
而对两张表或者 N 张表做连接,是 SQL 里面非常重要的一个内容,也是最容易埋坑的一个点。尽管数据连接只涉及四种方式,七个语法,但其仍然是绝大部分 SQL 脚本的核心内容。选择合适的可靠的数据连接方式,应该是一个 SQL 运动员的基本功了。

4. 函数应用

以下参考 TDW 的函数库分类,将日常所用的函数细分为几个子类别。
第一,数学函数: SQL 里的数学函数主要和数值处理有关,主要用于对具体数值的细节调整。变换函数则会改变该字段的数据分布形态,如正弦 sin,余弦 cos 等。
第二,聚合函数: 在数据聚合中,选择了具体字段作为聚合维度后,之后便是应用各种聚合函数得到汇总值的过程。其中有简单聚合函数如 count 计数、sum 求和、avg 求平均。也可以基于分布特征,max/min 取极值,std 取标准差,variance 取方差。另外若在聚合过程中涉及分区处理的话,也有 rank,first/last_value 等函数可以应用。
第三,时间和日期函数:主要细分为时间的加减、取值和转换这三类。其中时间加减里,又涉及不同的时间维度。时间取值函数则是在一个详细的时间戳里,取出自己想要的部分。时间转换函数则是时间形式的切换,如日期格式、格林尼治时间戳格式等。
第四,文本处理: 数据类型可以粗糙地分为数值数据和文本数据,对于文本数据的处理,也有很多对应的函数。其中有一些简单取值函数,如通过 length 和 size 获得字段长度和数组大小,通过 upper 和 lower 可以切换大小写。正则表达式也是文本处理中一个特别重要的模块。
除了以上所盘点的一些通用函数外,还有很多特定场景下应用的特定函数,以及逻辑函数、转换函数等多种特殊函数。

5. 具体开发环境的注意点

和其它众多语言一样,SQL 的编写也不能脱离其自身的开发环境,不同的数据库形态、不同的 IDE,都会有一些差异点和新特性。具体开发环境的注意事项,还是要在具体环境里去发现和探索。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • Stephen
    好文章
收起评论
大纲
固定大纲
1. 库表基本操作
2. 数据查询语句
3. 数据聚合与连接
4. 函数应用
5. 具体开发环境的注意点
显示
设置
留言
1
收藏
55
沉浸
阅读
分享
手机端
快捷键
回顶部