SQL复习(2)
创始人
2024-02-27 17:15:45
0

SQL面试题

  • 是否会SQL、Python、R等分析工具,分别有什么用?

    • EXCEL用于小样本量中基本的数据处理操作
    • SQL用于从数据库中取数操作,做一些简单的数据处理工作,通过表连接、嵌套查询等动作完成最终的数据统计工作。SQL基本上可以完成大部分的数据分析工作,对当前公司运营的成效进行数据呈现及分析
    • Python和R则属于更高阶的分析工作,可以借助多种多样的工具库,可以通过数据建模,可用于有监督或无监督模型的训练,解决分类、聚类和其他预测问题。
  • SQL的掌握程度?

    • 熟悉基本操作(增删改查)
      • 增 INSERT INTO <表名> (字段名) VALUES (值)
      • 删 DELETE FROM <表名> WHERE <筛选条件>
      • 改 UPDATE <表名> SET <字段名=值> WHERE <筛选条件>
      • 查 SELECT * FROM <表名> WHERE <筛选条件> GROUP BY <字段名> HAVING <条件>
        • 嵌套查询:将(SELECT-FROM-WHERE)的查询语句作为子查询嵌套进去
        • 组合查询:使用UNION/UNION ALL对多个查询结果进行组合【union去重】
        • 表连接:表连接中根据使用场景选择INEER/LEFT/RIGHT/FULL JOIN
        • 聚合函数:使用MAX/MIN/SUM/AVG/COUNT对查询数据进行聚合
        • 窗口函数:多查询数据排序或多样性聚合【对组内进行操作】
  • SQL如何优化?

    数据库:更针对数据存储、更新

    数据仓库:更针对数据的查询

    • mysql(查询优化)

      • 用groupby代替distinct去重(有时groupby分组后聚合就能达到目的
      • 表连接前先用where过滤
      • 建立合适的索引、少使用Like模糊查询、可以使用(临时表)with as、
    • Hive(基于Mapreduce)

      • 针对业务需求,选择合适的数据粒度

      • 针对数据倾斜

        其原因:

        • group by维度过小,某值的数量过多,导致处理某值的reduce⾮常耗时
        • 去重 distinct的某特殊值过多,导致处理此特殊值的reduce耗时
        • 单点问题,连接 join,count(distinct),group by,join等操作,这些都会触发Shuffle动作,⼀旦触发,所有相同key的值就会拉到⼀个或⼏个节点上,就容易发⽣单点问题

        解决方案:

        • group by时某些key对应数据量很⼤,可以单独对这些key做计算,再与其他key进行join
        • Hive参数设置:
          • 设置hive.map.aggr = true:在map中会做部分聚集操作,效率更高但需要更多的内存设置
          • 设置hive.groupby.skewindata=true 确保数据倾斜时负载均衡
        • 查询语句优化:
          • 在count(distinct) 操作前先进行⼀次group by,把key先进⾏⼀次reduce,去重
          • map join:使⽤map join让小的维度表(1000 条以下的记录条数)先进内存,在map端完成reduce
  • SQL窗口函数?举例?如何去重?

    • 与聚合函数的区别:

      • 聚合函数是将每个分组聚合为一条结果,而窗口函数是对每个分组内的所有记录执行。
      • 聚合函数可以用于窗口函数。
      • 聚合窗口函数:sum、count、avg、max、min;排序窗口函数:rank、rank_dense、row_number;偏移窗口函数:lag、lead
    • 基本用法:over关键字用来指定函数执行的窗口范围

      语法结构:函数 OVER ([PARTITION BY 字段名 ORDER BY 字段名 ASC|DESC])

      • PARTITION BY:对哪些字段进行分组,在不同分组上分别执行。
      • ORDER BY:按照哪些字段进行排序,窗口函数将按照排序后的记录顺序进行编号。
    • 排序窗口函数row_number(),rank(),dense_rank()的区别?

      • ROW_NUMBER():顺序排序——1、2、3
      • RANK():并列排序,跳过重复序号——1、1、3
      • DENSE_RANK():并列排序,不跳过重复序号——1、1、2
    • 分布函数:percent_rank(),cume_dist() percent_rank()

    • 前后函数:lag(expr,n),lead(expr,n)

    • 头尾函数:FIRST_VALUE(expr),LAST_VALUE(expr)

      • 返回第⼀个( FIRST_VALUE(expr) )或最后⼀个( LAST_VALUE(expr) )expr的值
  • like的用法?

    • WHERE 子句中搜索列中的指定模式(正则表达式)。
  • 如何利用replace函数统计给定重复字段在字符串中的出现次数

    • All_String表示完整字符串,Target_String表示待统计的目标字段

      select (length('All_String')- length(replace('All_String', 'Target_String','')))/length('Target_String') as cnt from table
      
  • 销售运营这个岗位上会涉及到一些报表的出具,包括日报/月报等等这些工作,用到的工具除了EXCEL,像SQL这些用得到吗?

    • 会用到,比如提取销售情况的时候,需要先用sql将数据从数据库中取出,在一些较复杂的场景中,会将提出的数据导入python中进行数据处理,然后再用excel产出。

以上是牛客网里整理的内容,后续将持续更新!

相关内容

热门资讯

2025年亚洲皮划艇静水锦标赛... 来源:中国新闻网 中新社南昌5月10日电 (记者 吴鹏泉)2025年亚洲皮划艇静水锦标赛10日在江西...
婚姻登记“全国通办”10日起实... 转自:千龙网今天(10日)起,新修订的《婚姻登记条例》正式施行,婚姻登记“全国通办”打破了婚姻登记当...
“青岛行人相撞案”现场视频公布... 转自:扬子晚报近日,山东省青岛市李沧区人民法院发布的“两行人相撞案”普法案例引发争议,央视《法治在线...
防震减灾,政企校联动为居民送上... 转自:扬子晚报迎接第17个全国防震减灾日,5 月 9 日,一场“人人讲安全 个个会应急”主题活动在无...
启动!80余位院士专家齐聚福建... 5月10日,农林生物安全全国重点实验室建设启动会暨第一届学术委员会第一次会议在福建农林大学常盛会议中...
鄂尔多斯市“绿茵小将”青少年足... 转自:草原云5月9日,鄂尔多斯市“绿茵小将”青少年足球挑战赛总决赛在伊金霍洛旗青少年足球训练基地拉开...
乌外长:准备下周一开始停火,至... 5月10日,乌克兰外长瑟比加通过社交平台“X”账号发布消息称,“意愿联盟”会议在乌克兰基辅举行之后,...
第一观察·瞬间丨为共同的历史和... 莫斯科天阔云舒,荣耀的红场恢弘庄严。当地时间5月9日,俄罗斯举行盛大庆典,纪念苏联伟大卫国战争胜利8...
涉嫌严重违纪违法!梁伟被查 本文来自微信公众号“大象新闻”中央纪委国家监委网站据贵州省纪委监委消息:贵州省总工会党组成员、副主席...
铁肩担道义,历史鉴未来 2025年5月7日至10日,国家主席习近平应邀对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80...
上海各区相继启动适龄幼儿入园报... 转自:上观新闻近日,上海各区相继启动适龄幼儿入园报名验证工作。完成信息登记后,父母或其他法定监护人可...
印方称停火由印巴双方直接达成 转自:北京日报客户端据法新社10日最新消息,印度政府消息人士表示,印度和巴基斯坦停火“由两国直接协商...
巴启动“铜墙铁壁”回应印“朱砂... 转自:千龙网巴基斯坦军方官员10日表示,巴军方已启动代号为“铜墙铁壁”的军事行动,回应印军对巴多地的...
新华全媒+ | 科技赋能 向“... 新华社杭州5月10日电 题:科技赋能向“新”发展——2025世界品牌莫干山大会观察新华社记者魏一骏、...
好博窗控深交所IPO终止:国信... 乐居财经 李兰 5月10日,深圳好博窗控技术股份有限公司(以下简称“好博窗控”)深交所IPO终止,因...
幼儿园保安界再现扫地僧幼儿园魔... 转自:JSTV荔枝视频 【#幼儿园保安界再现扫地僧##幼...
中超刮起青春风暴 #王钰栋领跑射手榜#【#中超刮起青春风暴#】5月11日,中超联赛迎来第12轮比赛。浙江队小将王钰栋梅...
鄂州:锁死中小学教师编制总量,... 据湖北鄂州市委编办消息,近期,该市统筹配置教育领域编制资源经验做法获《中国机构编制》杂志刊登。相关文...
博纳影业董事长于冬,被警示! 转自:天津日报博纳影业8日晚间发布公告称,公司收到新疆证监局出具的《关于对博纳影业集团股份有限公司采...
南昌又一重要地标!市政公用大厦... 转自:南昌发布南昌市政公用大厦项目建设现场,施工人员正在紧锣密鼓进行主楼底板混凝土浇筑作业。目前,项...