SQL Server数据库管理、开发与实践 教学课件 ppt 作者 郑诚 第8章 SQL常用函数

上传人:E**** 文档编号:89455480 上传时间:2019-05-25 格式:PPTX 页数:73 大小:652.36KB
返回 下载 相关 举报
SQL Server数据库管理、开发与实践 教学课件 ppt 作者  郑诚 第8章  SQL常用函数_第1页
第1页 / 共73页
SQL Server数据库管理、开发与实践 教学课件 ppt 作者  郑诚 第8章  SQL常用函数_第2页
第2页 / 共73页
SQL Server数据库管理、开发与实践 教学课件 ppt 作者  郑诚 第8章  SQL常用函数_第3页
第3页 / 共73页
SQL Server数据库管理、开发与实践 教学课件 ppt 作者  郑诚 第8章  SQL常用函数_第4页
第4页 / 共73页
SQL Server数据库管理、开发与实践 教学课件 ppt 作者  郑诚 第8章  SQL常用函数_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《SQL Server数据库管理、开发与实践 教学课件 ppt 作者 郑诚 第8章 SQL常用函数》由会员分享,可在线阅读,更多相关《SQL Server数据库管理、开发与实践 教学课件 ppt 作者 郑诚 第8章 SQL常用函数(73页珍藏版)》请在金锄头文库上搜索。

1、本章要求,第8章 SQL常用函数,聚合函数 常用的数学函数 字符串函数 日期和时间函数 转换函数 元数据函数,主要内容,第8章 SQL常用函数,1.聚合函数 2.数学函数 3.字符串函数 4.日期和时间函数 5.转换函数 6.元数据函数 7.综合实例查看商品信息表中价格最贵的记录,8.1.1 聚合函数概 8.1.2 SUM(求和)函数 8.1.3 AVG(平均值)函数 8.1.4 MIN(最小值)函数 8.1.5 MAX(最大值)函数 8.1.6 COUNT(统计)函数 8.1.7 DISTINCT(取不重复记录)函数 8.1.8 查询重复记录,8.1 聚合函数,聚合函数对一组值进行计算并返回

2、单一的值,通常聚合函数会与SELECT语句的GROUP BY子句一同使用,在与GROUP BY子句使用时,聚合函数会为每一个组产生一个单一值,而不会为整个表产生一个单一值。常用的聚合函数及说明如表8-1所示。 表8-1 常用的聚合函数及说明,8.1.1 聚合函数概述,SUM函数返回表达式中所有值的和或仅非重复值的和。SUM 只能用于数字列。空值将被忽略。 语法如下: SUM ( ALL | DISTINCT expression ) 参数说明: ALL:对所有的值应用此聚合函数。ALL 是默认值。 DISTINCT:指定 SUM 返回唯一值的和。 expression:常量、列或函数与算术、位

3、和字符串运算符的任意组合。expression 是精确数字或近似数字数据类型分类(bit 数据类型除外)的表达式。 返回类型:以最精确的 expression 数据类型返回所有 expression 值的和。 有关SUM函数使用的几点说明如下。 含有索引的字段能够加快聚合函数的运行。 字段数据类型为int、smallint、tinyint、decimal、numeric、float、real、money以及smallmoney的字段才可以使用SUM函数。 在使用SUM函数时,SQL Server把结果集中的smallint或tinyint这些数据类型当做int处理。 在使用SUM函数时,SQL

4、 Server将忽略空值(NULL),即计算时不计算这些空值。,8.1.2 SUM(求和)函数,【例8-1】 使用SUM函数,求SC表中001(数据结构)课程的总成绩,SQL语句及运行结果如图8-1所示。 图8-1 使用SUM函数获得数据结构的总成绩 在SC表中001的成绩如图8-2所示。 图8-2 SC表中001的成绩,【例8-1】使用SUM函数获得数据结构的总成绩,AVG函数返回组中各值的平均值。将忽略空值。 语法如下: AVG ( ALL | DISTINCT expression ) 参数说明: ALL对所有的值进行聚合函数运算。ALL 是默认值。 DISTINCT:指定 AVG只使用

5、每个值的唯一实例,而不管该值出现了多少次。 expression:是精确数值或近似数值数据类别(bit 数据类型除外)的表达式。不允许使用聚合函数和子查询。 返回类型:返回类型由表达式的运算结果类型确定。 有关AVG函数使用的几点说明如下: AVG函数不一定返回与传递到函数的列完全相同的数据类型。 AVG函数只能用于数据类型是int、smallint、tinyint、decimal、float、real、money和smallmoney的字段。 在使用AVG函数时,SQL Server把结果集中的smallint或tinyint这些数据类型当做int处理。,8.1.3 AVG(平均值)函数,A

6、VG函数的返回值类型由表达式的运算结果类型决定,如表8-2所示。 表8-2 AVG函数返回值类型 【例8-2】 使用AVG函数,求SC表中001(数据结构)课程的平均成绩,SQL语句及运行结构如图8-3所示。 图8-3 使用AVG函数获得数据结构的平均成绩,【例8-2】使用AVG函数获得数据结构的平均成绩,MIN函数返回表达式中的最小值。 语法如下: MIN ( ALL | DISTINCT expression ) 参数说明: ALL:对所有的值进行聚合函数运算。ALL 是默认值。 DISTINCT:指定每个唯一值都被考虑。DISTINCT 对于 MIN 无意义,使用它仅仅是为了符合 SQL

7、-92 兼容性。 expression:常量、列名、函数以及算术运算符、按位运算符和字符串运算符的任意组合。MIN 可用于数字列、char列、varchar列 或 datetime 列,但不能用于 bit 列。不允许使用聚合函数和子查询。 返回类型:返回与 expression 相同的值。 有关MIN函数使用的几点说明如下: MIN函数不能用于数据类型是bit的字段。 在确定列中的最小值时,MIN函数忽略NULL值,但是如果在该列中的所有行都有NULL值,将返回NULL值。 不允许使用聚合函数和子查询。,8.1.4 MIN(最小值)函数,【例8-3】 使用MIN函数,查询Student表中女同

8、学的最小年龄,SQL语句及运行结构如图8-4所示。 图8-4 使用MIN函数获得数据结构的最小成绩,【例8-3】使用MIN函数,MAX函数返回表达式的最大值。 语法如下: MAX ( ALL | DISTINCT expression ) 参数说明: ALL:对所有的值应用此聚合函数。ALL 是默认值。 DISTINCT:指定考虑每个唯一值。DISTINCT 对于 MAX 无意义,使用它仅仅是为了SQL-92 兼容性。 expression:常量、列名、函数以及算术运算符、按位运算符和字符串运算符的任意组合。MAX 可用于数字列、character列和 datetime列,但不能用于 bit

9、列。不允许使用聚合函数和子查询。 返回类型:返回与 expression 相同的值。 有关MAX函数使用的几点说明如下: MAX函数将忽略选取对象中的空值。 不能通过MAX函数从bit、text和image数据类型的字段中选取最大值。 在SQL Server中,MAX函数可以用于数据类型为数字、字符、datetime的列,但是不能用于数据类型为bit的列。不能使用聚合函数和子查询。 对于字符列,MAX查找排序序列的最大值。,8.1.5 MAX(最大值)函数,【例8-4】 在本示例中使用了一个子查询,并在子查询中使用了MAX函数将查询条件指定为“Student”表中年龄最大的同学信息,SQL语句

10、及运行结构如图8-5所示。 图8-5 使用MAX函数获取Student表中年龄最大的同学信 首先在“Student”表中选择指定列的数据并显示,然后在WHERE条件中使用子查询,并在子查询中使用MAX函数选择“Student”中年龄最大的操作员。 如果用户不想获取其他列的信息,可以直接在SELECT语句中使用MAX函数加上要查询的列即可。,【例8-4】使用了一个子查询,【例8-5】 直接查询学生中年龄最大的同学,SQL语句如下。 USE db_2008 SELECT MAX(Sage) AS 最大年龄 FROM Student,【例8-5】直接查询学生中年龄最大的同学,COUNT函数返回组中的

11、项数。COUNT 返回 int 数据类型值。 语法如下: COUNT ( ALL | DISTINCT expression | * ) 参数说明: ALL:对所有的值进行聚合函数运算。ALL 是默认值。 DISTINCT:指定 COUNT 返回唯一非空值的数量。 expression:除 text、image 或 ntext 以外任何类型的表达式。不允许使用聚合函数和子查询。 * :指定应该计算所有行以返回表中行的总数。COUNT(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(*) 不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息

12、。COUNT(*) 返回指定表中行数而不删除副本。它对每行分别计数。包括包含空值的行。 返回类型:int类型。,8.1.6 COUNT(统计)函数,【例8-6】 使用SELECT语句显示商品名称,并使用COUNT函数查询所有销售的商品名称,然后使用AS语句,将“Sex”重命名为“人数”,最后显示查询结果,SQL语句及运行结果如图8-6所示。 图8-6 使用COUNT函数计算男女同学的人数,【例8-6】使用COUNT函数计算男女同学的人数,【例8-7】 查询Student表中的总人数,SQL语句及运行结果如图8-7所示。 图8-7 使用COUNT函数计算学生的总人数,【例8-7】使用COUNT函

13、数计算学生的总人数,DISTINCT函数,对指定的集求值,删除该集中的重复元组,然后返回结果集。 语法如下: Distinct(Set_Expression) 参数说明: Set_Expression:返回集的有效多维表达式 (MDX)。 说明:如果 Distinct 函数在指定的集中找到了重复的元组,则此函数只保留重复元组的第一个实例,同时保留该集原来的顺序。 【例8-8】 使用DISTINCT函数查询Course表中不重复的课程信息,SQL语句及运行结果如图8-8所示。 图8-8 查询Course表中不重复的课程信息,8.1.7 DISTINCT(取不重复记录)函数,查询数据表中的重复记录

14、,可以借助HAVING子句实现,该子句用来指定组或聚合的搜索条件。HAVING子句只能与SELECT语句一起使用,而且,它通常在GROUP BY子句中使用。 HAVING子句语法如下: HAVING 参数说明: :指定组或聚合应满足的搜索条件。 【例8-9】 使用HAVING子句为组指定条件,当同种课程的记录大于等于一条时,显示此课程的名称及重复数量,SQL语句及运行结果如图8-9所示。 图8-9 查询重复的课程及重复数量,8.1.8 查询重复记录,8.2.1 数学函数概述 8.2.2 ABS(绝对值)函数 8.2.3 PI(圆周率)函数 8.2.4 POWER(乘方)函数 8.2.5 RAN

15、D(随机浮点数)函数 8.2.6 ROUND(四舍五入)函数 8.2.7 SQUARE(平方)函数和SQRT(平方根)函数 8.2.8 三角函数,8.2 数学函数,数学函数可以对数据类型为整型(integer)、实型(real)、浮点型(float)、货币型(money)和smallmoney的列进行操作。它的返回值是6位小数,如果使用出错,则返回NULL值并显示提示信息,通常该函数可以用在SQL语句的表达式中。常用的数学函数及说明如表8-3所示。 表8-3 常用的数学函数及说明 注意:算术函数(例如 ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS 和 SIGN

16、)返回与输入值具有相同数据类型的值。三角函数和其他函数(包括 EXP、LOG、LOG10、SQUARE 和 SQRT)将输入值转换为 float 并返回 float 值。,8.2.1 数学函数概述,ABS函数返回数值表达式的绝对值。 语法如下: ABS(numeric_expression) 参数说明: numeric_expression:精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。 结果类型:提交给函数的数值表达式的数据类型。 说明:如果该参数为空,则 ABS 返回的结果为空。 【例8-10】 使用ABS函数求指定表达式的绝对值,SQL语句及运行结果如图8-10所示。 图8-10 指定表达式的绝对值,8.2.2 ABS(绝对值)函数,PI函数返回 PI 的常量值。 语法如下: PI ( ) 返回类型:float型。 【例8-11】 使用PI函数返回指定PI的值,SQL语句及运行结果如图8-11所示。 图8-11 返回P

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号