4-1 SQL基础语法

SQL是数据分析最常用的代码,也是最容易入门的代码。在本节中,主要会整理一些SQL基本的以及常考的语法知识。

【纯小白读前准备】

对于完全没有任何SQL基础的同学来说,光靠一篇文章想掌握SQL的考点是不现实的。推荐大家在阅读本章之前,先花半天时间看一本书:《MySQL必知必会》。这本书非常的薄,想快速掌握SQL语法,能够完成简单的取数工作,只需要阅读本书的第4章-第17章即可,总共不到100页的内容,大概需要花费半天的时间。完成以上学习后,再快速记忆一下19章和20章的内容,总共12页,了解如何插入、更新和删除数据。


完成阅读,基本上能够学习完常用的SQL语法。

【SQL基础语法】

还是先回顾一下最常用的基础语法吧,再次提醒的是,由于整个专题侧重于数据分析的笔试面试知识点总结,所以并不会非常详细的讲解SQL语法,只会介绍最基础的命令,完全不懂SQL的同学建议看完上述书籍再回来继续阅读,而觉得这里过于简单的同学可以直接跳到下个部分的考点总结。
假如我们有一张表order,存储了所有在2019年有销售记录的商家id,名称,2019年销售额,2019年销售利润信息,具体如下:

还有一张表merchant,存储了所有在平台登记注册的商家id,注册日期,注册省份信息,具体如下:

一、查询命令

(1)select + from
select是检索语句,后接想要取出的字段名称,当检索多个字段时,用逗号分割;而from后接目标表名。【select+from】的组合是SQL取数必须写的命令。比如想取出oder表中所有merchant的名称和id,则可写为:

select merchant_name
      ,merchant_id
from order

结果为:

(2)where

where是筛选语句,后面加上筛选的字段及条件。比如我想取出merchant表中所有湖南的商家id:
select merchant_id
from merchant
where province=’湖南’ 

结果为:

(3)and 和 or

and 和 or 可以在where子语句中,把两个或者多个条件结合起来。例如,我想在merchant表中取出所有湖南的,且注册时间在2018年1月30日之后的商家id:
select merchant_id
from merchant
where province=’湖南’
and date >’2010-01-30’

结果为:

例如,我想在merchant表中取出所有湖南且注册时间在2018年1月30日之后的商家id,或者所有湖北商家id:
select merchant_id
from merchant
where ( province=’湖南’ and date >’2010-01-30’) or  province=’湖北’

结果为:

(4)order by

order by是排序语句,默认为升序排列,想要降序排列需要指定DESC关键字。假如想按照2019年销售总额,降序排列取出order表中所有湖南的商家id,及销售额:
select merchant_id
          , gmv_2019
from order
order by gmv_2019 DESC

结果为:

(5)join

join主要有三种,left join, ri
结果为: 结果为: 结果为: 结果为: 结果是: 结果是: 结果是: 和delete的目的相似,drop命令也用于表的删除,最常用的场景是表的删除, 例如,想要删除整个merchant表,可以执行: 和C++,Python等相比,SQL的语法相当简单,掌握了以上最基础的命令函数,就已经能够完成简单的取数题目了。想要答出更难的题型,还是需要我们在实习里多练习,或者利用课余的时间在线刷题。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

<p> 为什么要学习本专刊 (1)数据分析面试日益激烈,招聘门槛提高,对业务、技术的综合考察难度上升; (2)网上对数据分析面试题型的整理与解析质量参差不齐,缺少框架清晰、内容全面的学习资料; (3)直击数据分析面试热点问题; </p>

全部评论

相关推荐

Aki-Tomoya:窝趣,人家这是先富带动后富,共同富裕了属于是
投递英伟达等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务