<返回更多

从零开始学SQL数据分析,SQL数据提取与筛选

2021-05-19  今日头条  大话数据分析
加入收藏

一张表中通常会包含很多字段,造成数据冗余,在做数据分析时,我们仅需要提取数据分析所需要的字段,这里就需要用到数据选取的知识点,同时还可以依据特定条件筛选。

本文介绍数据提取数据筛选条件聚合运算等内容,数据筛选后又类比Excel做条件计数和条件求和等操作,下面一起来学习。

数据提取

按列提取数据,使用SELECT函数,提取对应的字段名即可。

#按列提取
SELECT cname 
FROM course;
从零开始学SQL数据分析,SQL数据提取与筛选

 

按行提取需要特定加一个按行筛选的条件。

#按行提取
SELECT * FROM course 
WHERE cname='数学';
从零开始学SQL数据分析,SQL数据提取与筛选

 

按位置提取数据,这里使用LIMIT限制数据的大小,"LIMIT 3,4"的含义表示从第3行开始筛选4行数据。

#按位置提取
SELECT * FROM student 
LIMIT 3,4;
从零开始学SQL数据分析,SQL数据提取与筛选

 

按条件提取数据,普通提取数据后,需要按照一定的条件筛选数据,这里使用WHERE函数,在后面设定条件即可完成筛选。

#按条件提取并计算
SELECT * FROM score
WHERE cid=02 AND score>80;
从零开始学SQL数据分析,SQL数据提取与筛选

 

逻辑条件筛选

常用的逻辑条件有与(AND)、或(OR)、非(NOT),这里使用AND函数,筛选条件为课程号为03,且分数大于80分。

#数据筛选AND
SELECT * FROM score
WHERE cid=03 AND score>80;
从零开始学SQL数据分析,SQL数据提取与筛选

 

此处使用OR函数,筛选学号为01,或者分数大于98分的数据。

#数据筛选OR
SELECT * FROM score
WHERE sid=01 OR score>98;
从零开始学SQL数据分析,SQL数据提取与筛选

 

添加一个不等于条件,筛选性别中不为"女"的数据,其中,不等于号用"!="来表示。

#数据筛选(不等于)
SELECT * FROM student
WHERE ssex != '女';
从零开始学SQL数据分析,SQL数据提取与筛选

 

使用IN函数,可以将条件值限定为具体的值,从而达到筛选确定值的目的。

#数据筛选IN
SELECT * FROM score
WHERE score IN (90,99);
从零开始学SQL数据分析,SQL数据提取与筛选

 

使用LIKE模糊筛选,%是通配符,替代一个或多个字符,这里的条件可以筛选姓李的同学。

#数据筛选like(模糊筛选)
SELECT * FROM student
WHERE sname LIKE '李%';
从零开始学SQL数据分析,SQL数据提取与筛选

 

条件聚合运算

条件筛选后计数,类似于EXCEL中的countif函数,这里筛选课程号为03,且成绩大于60分的课程,然后计数。

#筛选后计数
SELECT COUNT(cid) AS cid_count 
FROM score
WHERE cid=03 AND score>60;
从零开始学SQL数据分析,SQL数据提取与筛选

 

筛选后求和,类似于EXCEL中的sumtif函数。

#筛选后求和 
SELECT SUM(score) AS sum_score 
FROM score
WHERE sid=01 AND cid=01 AND score>60;
从零开始学SQL数据分析,SQL数据提取与筛选

 

同理可以设置条件,求条件平均。

#筛选后求均值 averageif
SELECT AVG(score) AS avg_score 
FROM score
WHERE cid != 01;
从零开始学SQL数据分析,SQL数据提取与筛选
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>