《SQL 基础教程》索引(个人用)

中秋三天的学习并不是一帆风顺的,很大程度上因为头一天时间的耽误,导致后面的学习时间很紧张,很多有趣的细节并没有时间整理,现在来。

关于 SQL 的星零知识是在工作里积累的。从读他人的脚本、听 mentor 的介绍、读老司机写的文档这些渠道了解了一些关于 SQL 的基本语句。我的同事们都非常厉害,光是靠着这些方法就开始了刷刷写脚本之路,但我的脚本还是写得非常烂。

我以为是我不用心,但最近才意识到其实是因为这种学习方法并不适合我,对像我这样完全没有编程基础的人来说,没有系统的梳理是非常要命的,所以我试图去找一些书,先后用过《从零开始学 SQL Server》、《SQL 必知必会》等书,但这些书都非常地“新人不友好”,不适合整个知识架构的建立。

MICK 的这本《SQL 基础教程》是同事 o0 酱推荐给我的。感谢她的分享,使我终于能够有机会好好地来一次 SQL 入门(鞠躬),也推荐给对 SQL 有兴趣的新人朋友。

作为产品运营,如果没有直接调取和分析数据的能力,在人力紧张的工作环境里是会非常被动的。幸而多数情况下要支持你完成相关工作的技术并不复杂,大抵是查询基础、聚合排序、复杂查询、函数、谓词、CASE 表达式和集合运算,也就是这本书的二、三、五、六、七章节。

第一遍读是为了搭建框架,接下来的一周我会二刷这本书,并且开始对重要章节里的重要知识点列个索引(仅仅是给我自己用的,会比较残缺)。

chap 2 基础查询篇

从结果中删除重复行

select distinct  <列名>

from <表名>

distinct 关键字只能用在第一个列名之前,当然也可以在多列之前使用,如果是这样则会将多个列的数据进行组合,将重复的数据结合为一条。

算数运算符

select shohin_mei,hanbai_tanka,hanbai_tanka * 2 as “hanbai_tanka_x2”

from shohin

select 语句中可以直接使用计算表达式,同时,作为文本的内容要用双引号括起来。

所有包含 null 的计算,结果肯定是 null,如果希望得到「5+ null = 5」这样的结果,可以用coalesce 将 null 值转为 0。

使用方法是

select coalesce(TS.tenpo_id,0) as tenpo_id

from TS.tenpo

比较运算符

不能对 null 使用比较运算符,非要用 null 值的话,用 is null 或者 is not null 的语句。谓词部分会有详述。

逻辑运算符

and 的顺序高于 OR ,想要优先执行 OR 可以使用括号。

SQL 中的逻辑运算被称为三值逻辑,真值包含真(True)、假(False)和不确定(Unknow)这也是一些表中设置 not null 约束的原因。

待更新

    原文作者:阿衡_1879
    原文地址: https://www.jianshu.com/p/ae61b7983193
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞