|
sql的应用 |
|
|
选修
出生
学生1
学生
序号
序号
姓名
年龄
性别
张三
李四
马六
周七
女
男
男
丽萍
丽萍
女
海华
男
方海
方海
凯丽
凯丽
蔡明波
马华
姓名
年龄
性别
张三
李四
王五
马六
周七
李阳峰
蒋海坡
蔡明波
姜大雨
马华
呈浩歌
数据透视表里使用SQL语言的select命令,可以实现数据查询的功能:
select[ALL▏DISTINCT][TOP<数值>[PERCENT]<目标列>[[as]]<列标题>]
先了解select命令的基本格式:
from<表或查询1>[AS]<别名1>],<表或查询2>[AS]<别名2>],
[where<联机条件>AND<筛选条件>]
[groupby<分组项>[HAVING<分组筛选条件>]]
[orderby<排序项>[asc▏desc]]
说明:"<>"表示必选项,"[]"表示可选项,"▏"表示多选一。
从select命令语句格式里可以看到,一条select语句包含了多条子句,
汇总
呈浩歌
姜大雨
蒋海坡
李阳峰
计数项:年龄
select姓名,年龄from[学生$],见表一。这里加了子句where19and20,查询19至20岁的年龄段。
看到这,我们就要知道查询条件的运算符,先列表如下:
平均成绩
学部
财经
网络技术应用
计算机
多媒体技术
学部
求和项:平均成绩
财经
网络技术应用
王五
计算机
多媒体技术
现在我们再看看选择查询的一个实例,在表中我们要查找财经和计算机的学部信息怎么做。
1.select姓名,性别,平均成绩,学部from[学生1$]where学部in("计算机","财经")
2.selectfrom[学生1$]where平均成绩between80and95orderby姓名,平均成绩desc
数据透视表的分组查询
总计
求和项:总学生数
select学部,count()as总学生数from[学生2$]where学部="计算机"groupby学部
as总学生数from[学生2$]是在学生2表里添加了字段总学生数。
出生
海华
(空白)
分组查询
函数名
功能
COUNT
AVG
SUM
MIN
MAX
统计记录个数
求一列数据(必须是数值型)的平均数
求一列数据(必须是数值型)的总和
求一列中的最小值
求一列中的最大值
求和项:人数
统计财经系的男女人数
在SELECT语句中使用GROUPBY子句可以对查询结果按照亩一列的值分组。
分组查询通常与SQL聚合函数一起使用,先按指定的数据项分组,在对各组计算。如果不分组,则聚合函数将作用整个查询结果。
SQL聚合函数表
按照性别,学部查询学生人数
select性别,学部,count()as人数from[出生$D1:F16]groupby性别,学部
张三
程七
计数项:姓名
select姓名,性别from[选修$]groupby姓名,性别havingcount()>=2
分组后按一定条件对这些组筛选,则可以在GROEPBY字句后加上HAVING短句来指定筛选条件。
注意:HAVING短句必须和GROUPBY子句同时使用
1.查找选修2门以上课的学生
2.查询选修课两门以上,并且成绩在85分以上的学生
select姓名from[选修$A1:C16]where平均成绩>=85groupby姓名havingcount()>=2
select姓名,性别(year(date())-year(出生))as年龄from[出生$]
select性别,count()as人数from[出生$D1:F16]where学部="财经"groupby性别
3.查询前六位学生成绩排名
selecttop6from[学生1$]orderby平均成绩desc
select姓名,年龄from[学生$]where年龄between19and20
selectfrom[学生$]where性别="女"
计数项:性别
selectfrom[学生$]where年龄>20and性别="男"
经过几天学习,觉得数据透视表使用SQL数据查询SELECT简便易学,用法也很灵活,特此,将学习体会介绍给大家。
select是选择表里的所有字段,相当于选择了“序号、姓名、年龄和性别”,但有时我们只想选择姓名和年龄,那就可以这样做:
子句是可选课不选的项目。在学习子句前,我们可以先看看SELECT语句在数据透视表里的应用。
类型
运算符
SELECT子句与查询设置器之间的对应关系
SELECT<目标列>
FROM<表或查询>
WHERE<筛选条件>
GROUPBY<分组项>
ORGERBY<排序项>
“字段”栏,即列
“显示表”对话框
“条件”栏
“总计”栏
“排序”栏
那么怎么样在数据透视表里使用selcet呢
1.首先,在菜单的“数据”找见“导入外部数据”,“导入数据”;
2.点击“导入数据”,选取数据源所在的位置,一般我放在桌面,所以直接点击桌面的我的“工作表”;
3.点击“工作边”两下,进入“表格选项”对话框,再点击进入“导入数据”;
4.打开“属性”,选择“打开工作表示自动刷新”,然后“确定”;
5.打开“编辑查询”,在“命令文本”里编写SQL数据查询语句,写完后“确定”。
6.最后“创建数据透视表”。
但是,我觉得数据透视表已具备的查询功能,最好还是不要使用SQL数据查询命令。
单表查询
单表查询就涉及一张表。查询表中列中的目标列,格式如下;
SELECT<目标列1>[,<目标列2>[,…]]FROM<表>
select姓名,平均成绩,学部from[学生$b97:f112]
0.00
0.00
0.00
00.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
00.00
.00
.00
.00
.00
.00
1980-2-12
0.00
.00
1980-3-1
0.00
.00
1982-2-12
0.00
.00
1978-1-23
00.00
.00
1979-1-24
0.00
.00
1980-1-25
0.00
.00
1982-1-26
0.00
.00
1981-1-27
0.00
.00
1978-1-28
0.00
0.00
1983-1-29
0.00
0.00
1978-1-30
0.00
0.00
1984-1-31
0.00
0.00
1981-2-1
0.00
0.00
1982-2-2
0.00
0.00
1987-2-3
00.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
00.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00.00
.00
.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
00.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00.00
0.00
0.00
00.00
0.00
0.00
0.00
00.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
.00
00.00
0.00
00.00
0.00
0.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00.00
00.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00.00
0.00
0.00
0.00
0.00
0.00
0.00
.00
.00
0.00
.00
0.00
.00
0.00
.00
0.00
.00
.00
0.00
.00
.00
0.00
.00
.00
0.00
.00
.00
0.00
.00
.00
0.00
.00
0.00
0.00
.00
.00
0.00
.00
.00
0.00
.00
0.00
0.00
.00
|
|
|
|
|
|
|
|
|
|
|