零点起飞学Oracle之数据的复杂处理

零点起飞学Oracle之数据的复杂处理

ID:40708544

大小:383.07 KB

页数:48页

时间:2019-08-06

零点起飞学Oracle之数据的复杂处理_第1页
零点起飞学Oracle之数据的复杂处理_第2页
零点起飞学Oracle之数据的复杂处理_第3页
零点起飞学Oracle之数据的复杂处理_第4页
零点起飞学Oracle之数据的复杂处理_第5页
资源描述:

《零点起飞学Oracle之数据的复杂处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章数据的复杂处理到目前为止,前面章节已经讲解了如何从数据库选择(select)记录,where子句如何限定返回满足所定义条件的行的数量。但有时,在访问数据库时,经常需要对表中的某列数据进行统计分析,比如求其最大值、最小值、平均值、方差等。所有这些针对其中一列或者多列数据的分析就叫做聚合分析。Oracle中的聚合函数就是可以是实现数据的聚合分析。8.1统计数据聚合函数返回基于多个行的单一结果。聚集函数可以在select或者select的having子句中使用。当用于select子句时,常常与groupby子句一起使用。如果要处理表中的数据,可以使用聚合函数。8.1.1求最大

2、值求最大值表示在一组数据中找到其中最大的数。在实际查询中,经常需要获取一组记录中特定列的最大值。Oracle中提供max函数来解决该问题。根据列的数据类型,可以分为以下三种情况。1.max()函数应用于数值型max()函数应用于数值型时,是按照数值的大小顺序来获得最大值。【示例8-1】为了获得薪资最高的员工的薪资情况,可以利用如下所示的SQL语句。8.1.1求最大值2.max()函数应用于字符型当max()函数应用于字符类型数据,则会按照字母的编码值找出最大值。【示例8-2】在表employees中,列first_name为字符型,可以利用max()函数来获得其最大值。3.m

3、ax()函数应用于日期型日期型的实质也是数值型。因此,max()函数应用于日期型与数值型具有完全相同的效果——获得最晚日期。【示例8-3】在表employees中,列hire_date为日期型,可以利用max()函数来获得公司最晚来的员工的进入公司的时间。8.1.2求最小值求最小值表示在一组数据中找到其中最小的数。Oracle中,min()函数可以获得最小值,与max()函数相反。min()函数同样可应用于数值型、字符型和日期型。【示例8-3】在表employees中,可以利用min()函数来获得last_name的最小值。8.1.3求平均值平均值表示对一组数据求平均值的运算

4、。Oracle中,avg()函数用于获得一组数据的平均值。该函数只能应用于数值型。【示例8-4】为了获得表employees中所有员工的平均工资,可以利用如下SQL语句。8.1.4求和求和的含义是依次对数据进行累加,得到数据的总和。Oracle中,sum()函数用于获得一组数据的和。该函数同样只能应用于数值型。【示例8-5】为了获得表employees中所有员工薪资之和,可以利用如下SQL语句。8.1.5统计记录数统计是用来对一组数据进行统计个数的。Oracle中,count()函数用于计算表中记录的个数或者列中值的数目。计算内容用select语句指定。使用count函数时,

5、必须指定一个列的名称。其语法结构如下。count(*)count(column)第一行表示计算表中的行的总数,即使表中的行的数据是null,也被计入在内。第二行表示计算列包含的行的数目,如果该列中的某行数据位null,则该行不计入统计总数。8.1.5统计记录数该函数的常见使用场景有三种:1.统计单列统计单列表示将一个列名作为count()函数的参数。当列值不为空时,将被统计在内,否则将不统计。【示例8-6】我们可以首先向表employees中插入新的数据,并比较空值和非空值的统计情况。目前,表employees中的数据中,employee_id为“207”的员工的first_

6、name的列值为空。可以利用count()函数来比较存在空值与不存在空值在统计数目时的区别。2.统计所有列统计所有列表示将表的所有列被作为count()函数的参数。这种情况下,即使所有列值均为空,Oracle仍将进行计数。8.1.5统计记录数3.利用count(1)进行统计对于count()函数来说,count(1)与统计所有列count(*)表示的含义的相同的。【示例8-8】利用count(1)的形式统计表employees中的记录。8.2Oracle中常用技巧Oracle除了针对基本数据类型的各种函数之外,还有一些特殊函数,如为空值重新赋值——nvl()函数、结果集的行号

7、——rownum()函数、强制转换数据类型——cast()函数。8.2.1空值处理——nvl()函数数据库中的数据有时出现空值。nvl()函数可以判断表达式的值是否为空。如果为空,则可以返回该函数设置的新值;若不为空,则返回原值。其使用语法如下所示。nvl(表达式,新值/表达式)nvl()函数首先判断第一个表达式参数的值是否为空;如果为空,则返回第二个参数的值;如果不为空,则返回第一个参数表达式的值。【示例8-10】表employees表中存储了员工工资信息。我们可以通过查询获得员工编号以及薪资信息。8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。