sql查询每科成绩的最高分_数据分析SQL查询:一文带你入门到掌握

本文介绍了数据分析中常用的SQL技能,包括基础用法、表连接、子查询、case when、组合查询、窗口函数等,并通过实例解析每个概念,帮助读者掌握在企业数据库中取数和计算指标的方法。
摘要由CSDN通过智能技术生成

【背景介绍】

在一家知名电商企业的BI部门实习四个多月,岗位为数据分析。日常工作中打交道最多的就是SQL和EXCEL,在实习之前SQL技能只会简单的增删改查语句,第一周实习经理甩了一份业务常见绩效取数的SQL代码给我,三四百行的代码看得头昏眼乱,惊讶到简简单单的SQL也能写出这么长的代码。历经四个多月的取数训练,对SQL的使用技能噌噌噌上了好几个台阶。本文整理一份数据分析中常用的SQL技能,学会这些技能,就能轻松在企业庞大的数据库中随心所欲地取数并计算指标了。

SQL是一种操纵数据库的语言,主要包括增删改查,对于数据分析师来说,一般只要查找数据的,不能对数据库进行增删改,毕竟公司怕你删库跑路,哈哈哈!查找数据代码的语法格式如下:

SELECT columns_name       --查找一列或多列,多列之间用逗号隔开
FROM Table                --目标表
WHERE condition           --过滤条件
GROUP BY columns_name     --按列值分组,可以1个或多个列
HAVING condition          --分组后的筛选条件,HAVING与WHERE区别在于前者表达式中可包含函数
ORDER BY columns_name     --按列排序
LIMIT start, row_count    --对结果进行限定,start表示从哪行开始,row_count表示结果行数

【基础用法】

【举个栗子_1】有一张学生表student,包括学生id,姓名,年龄,班级,分数字段,下面用SQL来查找数据吧。

dc696b1115f8fa6af2646935a88eed82.png
student表
--查找id,姓名,成绩列
SELECT stu_id,stu_name,grade
FROM student

b50ba9dc9a10561c106e585345e21dc9.png
--查找成绩大于等于70分的学生id,姓名,成绩列
SELECT stu_id,stu_name,grade
FROM student
WHERE grade >= 70

d7922ee913f21032a36e8be069ae910a.png
--计算班级人数,平均成绩,最高成绩,最低成绩
SELECT class, avg(grade), max(grade), min(grade) as min_grade, count(stu_id)
FROM student
GROUP BY class

14e3516fe8370d36055c964647660d11.png

计算班级平均成绩用到了GROUP BY语句,同样的class被分为一组,当你使用分组语句时,SELECT语句后面只能出现分组字段和聚合函数,比如这里SELECT语句后面要是有stu_id就会报错。还有这里用到了as 重命名功能,一般使用函数后会重新命名,不然得到的列默认为函数表达式。

--Having语句筛选班级平均分大于60分的班级
SELECT class, avg(grade), max(grade), min(grade) as min_grade, count(stu_id)
FROM student
GROUP BY class
HAVING avg(grade) > 60

b90302bcb7a30f7d2fce23ae66e924f5.png
--like进行模糊匹配
where name like '陈%'    --找出姓陈的人
where name like '%铭%'    --找出名字中有铭字的人
where name like '陈_'    --找出姓陈且名字为两个字的人

like进行模糊匹配时,%可以匹配任意多个任意字符,_匹配任意一个字符。

表连接

表连接是指两张表可以通过相同的关键字段进行连接,包括内连接和外连接,而外连接又包括左外连接、右外连接和全外连接。1)内连接指结果表只包含同时存在两张表中的连接字段;2)左外连接是指既包含内连接的连接字段还包含左表未连接的字段;3)右外连接是指既包

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值