虽然Excel有很多函数处理数据比较方便,但由于太分散不好管理。如果熟悉SQL,直接用SQL来处理数据也会方便很多,并且通常就一个SQL,方便管理和修改。

那么,我就来讲一些SQL的初级入门语法,以便不会SQL的人也能快速学起来并进行应用。所有语句都是在下面表进行操作的

学生信息表

sql在excel中运用:Excel的SQL语法之初级入门知识(1)

另外,在Excel中如何使用SQL,以及如何进入SQL执行界面参考我之前的文章《Excel中用SQL语句实现多工作簿汇总》,或者评论区直接问我。

一. SELECT

SELECT关键字是SQL最常用的关键字,它的作用就是将一张表里面的数据按需要选出来,语法如下

SELECT 列名 FROM 表名;

如果要选择多个列名,中间用逗号隔开,选择所有列直接用*代替。例如要选择出学生信息表里面的学号和年龄,那么SQL如下

SELECT 学号, 年龄 FROM [学生信息表$];

执行结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(2)

二. WHERE

WHERE在SQL中作为一个条件的关键字,语法如下

SELECT 列名 FROM 表名 WHERE 条件;

比如我要选择出年龄小于19岁的数据,SQL如下

SELECT * FROM [学生信息表$] WHERE 年龄 < 20;

执行结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(3)

确实过滤掉了年龄小于20的数据,如果用多个条件需要用关键字AND或OR。例如

SELECT * FROM [学生信息表$] WHERE 年龄 < 20 AND 身高 > 168; SELECT * FROM [学生信息表$] WHERE 年龄 < 20 OR 身高 > 168;

三. DISTINCT

这个关键字是用来去掉重复的记录,比如学生信息表中学号为20191002的记录有两条,我们要实现去重,则使用DISTINCT,例如

SELECT DISTINCT 学号, 性别, 年龄, 身高, 出生日期, 籍贯 FROM [学生信息表$];

这样就实现了数据去重,执行结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(4)

四. SUM和AVG

SUM用来对某列进行求和,AVG用来对某列求平均。例如要对年龄进行求和并求平均。SQL如下

SELECT SUM(年龄), AVG(年龄) FROM [学生信息表$];

执行结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(5)

五. AS

AS用来对列名进行重命名,比如原来的列叫做身高,现在我命名为学生身高,可以这样写

SELECT 身高 AS 学生身高 FROM [学生信息表$];

结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(6)

列名确实变为了学生身高。AS一般用在复杂操作中,比如计算SUM后需要对结果取一个名字,那么就可以这样写

SELECT SUM(年龄) AS 年龄和, AVG(年龄) AS 年龄平均 FROM [学生信息表$];

六. LEFT和RIGHT

这个关键字用来对列进行处理,提取当列字符串从左往右数前k位,语法如下

SELECT LEFT(列名, k) FROM 表名;

比如我们要将日期中的年份提取出来,可以这样写

SELECT LEFT(出生日期, 4) AS 年份 FROM [学生信息表$];

执行结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(7)

RIGHT同理,是取当列字符串从右往左数前k位。

七. IIF

IIF表示选择,比如我要计算身高小于170的学生年龄和,那么我可以直接用WHERE,如下

SELECT SUM(年龄) AS 年龄和 FROM [学生信息表$] WHERE 身高 < 170;

也可以用IIF语句达到此目的,其语法为IIF(C, A, B)。即如果满足条件C,那么结果为A,否则为B,如下SQL

SELECT SUM(IIF(身高 < 170, 年龄, 0)) AS 年龄和 FROM [学生信息表$];

执行结果如下

sql在excel中运用:Excel的SQL语法之初级入门知识(8)

以上是Excel SQL入门的基础知识,更多内容放在下一篇来讲。

,