

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

数据提取
#按列提取SELECT cnameFROM course;

按行提取需要特定加一个按行筛选的条件。
#按行提取SELECT * FROM courseWHERE cname='数学';

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

按条件提取数据,普通提取数据后,需要按照一定的条件筛选数据,这里使用WHERE函数,在后面设定条件即可完成筛选。
#按条件提取并计算SELECT * FROM scoreWHERE cid=02 AND score>80;

逻辑条件筛选
常用的逻辑条件有与(AND)、或(OR)、非(NOT),这里使用AND函数,筛选条件为课程号为03,且分数大于80分。
#数据筛选ANDSELECT * FROM scoreWHERE cid=03 AND score>80;
此处使用OR函数,筛选学号为01,或者分数大于98分的数据。
#数据筛选ORSELECT * FROM scoreWHERE sid=01 OR score>98;
#数据筛选(不等于)SELECT * FROM studentWHERE ssex != '女';
使用IN函数,可以将条件值限定为具体的值,从而达到筛选确定值的目的。
#数据筛选INSELECT * FROM scoreWHERE score IN (90,99);

#数据筛选like(模糊筛选)SELECT * FROM studentWHERE sname LIKE '李%';
条件聚合运算
条件筛选后计数,类似于EXCEL中的countif函数,这里筛选课程号为03,且成绩大于60分的课程,然后计数。
#筛选后计数SELECT COUNT(cid) AS cid_countFROM scoreWHERE cid=03 AND score>60;
筛选后求和,类似于EXCEL中的sumtif函数。
#筛选后求和SELECT SUM(score) AS sum_scoreFROM scoreWHERE sid=01 AND cid=01 AND score>60;
同理可以设置条件,求条件平均。
#筛选后求均值 averageifSELECT AVG(score) AS avg_scoreFROM scoreWHERE cid != 01;
往期推荐

