中国统计网 | 新手速进!,SQL大厂面试常考知识点
-点击上方“中国统计网”订阅我吧!-

文章图片
前些天在网上冲浪的时候看到一个案例咨询 , 问说世界500强的数据分析要不要去 , 评论区一片爆炸:
“楼主能分享一下文科生怎么转行做数据分析吗?”
“SQL、python这些学起来好痛苦!”
我看着屏幕苦笑 , 数据分析岗位现在的热门程度如果要形容的话 , 基本就是随便抓一个微博网友都知道这个岗位了 。
Anyway , 言归正传 , 数据分析师的招聘JD你们一定不陌生:

文章图片
可以说 , 不是每个数据分析岗都要求python , 但是每个数据分析岗都需要会SQL 。
我本人曾在滴滴、美团、平安科技的数据分析类岗位实习过 , 实习期间会大量运用sql进行取数 。 也参与了2018年的秋招 , 做过网易、拼多多、新浪等等公司的数据分析笔试题 , 还是比较了解SQL常考的题目类型的 。
写这篇文章是希望帮助还没有实战过SQL的小伙伴、或者了解一些SQL语句 , 但是担心自己了解的太片面的小伙伴 。 这篇文章主要介绍的是:如果想要面试数据分析岗位 , 最优先需要掌握的SQL技能是哪些呢?
读完本文 , 你能快速知道:
除了select这种基本的语句 , 我最应该马上掌握的SQL语句和知识是什么?
面试中SQL题80%都在考察的语法是什么?
这些语法应该怎么使用?
本文将从三大块介绍入门SQL需要掌握的语法和知识 , 分别是最基础的选择(select)和连接(join/union);最常用的函数(distinct/groupby/orderby等);一些小小的进阶技巧(组内排序、取前百分之多少的值、时间函数) 。

文章图片
一.最基本(选数据)
1.怎么把数据从表里选出来?
2.表连接
--table_1中有id,age;table_2中有id , sex 。 想取出id,age,sex三列信息--将table_1,table_2根据主键id连接起来selecta.id,a.age,b.sexfrom(selectid,agefromtable_1)a--将select之后的内容存为临时表ajoin(selectid,sexfromtable_2)b--将select之后的内容存为临时表bona.id=b.id在这里先介绍一下几种join:(敲重点 , 很容易问的哦)

文章图片
join:hive的join默认是innerjoin , 找出左右都可匹配的记录
leftjoin:左连接 , 以左表为准 , 逐条去右表找可匹配字段 , 如果有多条会逐次列出 , 如果没有找到则是NULL;

文章图片
rightjoin:右连接 , 以右表为准 , 逐条去左表找可匹配字段 , 如果有多条会逐次列出 , 如果没有找到则是NULL

文章图片
fullouterjoin:全连接 , 包含两个表的连接结果 , 如果左表缺失或者右表缺失的数据会填充NULL

文章图片
每种join都有on,on的是左表和右表中都有的字段 。 join之前要确保关联键是否去重 , 是不是刻意保留非去重结果 。
3.两张表数据的字段一样 , 想合并起来 , 怎么办?
--不去重 , 合并两张表的数据select*from(selectidfromtable_1UNIONALLselectidfromtable_2)t;union和unionall均基于列合并多张表的数据 , 所合并的列格式必须完全一致 。 union的过程中会去重并降低效率 , unionall直接追加数据 。 union前后是两段select语句而非结果集 。
二.最常用
为方便大家理解每个函数的作用 , 先建一个表 , 后面以这个为示例 。
推荐阅读
- 楠竹一|墙头草国家曾被苏联灭国,如今让中国损失478,比土耳其还厚脸皮
- 【】中国十大忙碌城市出炉:前三不是北上广!来看看有你家吗?
- 枫叶说体育|专利如今过期了,结果怎样了?,中国小伙发明“U盘”获利几十亿
- 基金|中芯国际发行价为27.52元 中国信科和国家集成电路基金参与
- 阿拉图图科技说三星新机口碑虽好,但中国市场销量翻车,用户几乎跑光!
- 驱动中国无缘屏下摄像头!华为Mate 40系列爆料:双曲面设计
- 驱动中国腾讯内部人士爆料:与“老干妈”合作多个环节有漏洞 却无人察觉
- 驱动中国首发AMD锐龙9处理器 华硕天选游戏本元气蓝开箱图赏
- 文汇网AI力量大集结!中国团队首次在国际顶级学术期刊发布中国AI全景论文
- 中国新闻网|日本东京都知事选举结束 日媒:小池百合子确定胜选
