配色: 字号:
sql的应用
2012-11-24 | 阅:  转:  |  分享 
  
选修

出生

学生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

献花(0)
+1
(本文系昨夜长风112...首藏)