Oracle数据库SQL查询深度解析:单行与多行函数

需积分: 35 10 下载量 137 浏览量 更新于2024-08-23 收藏 3.47MB PPT 举报
"Oracle数据库中的SQL函数主要分为单行函数和多行函数,这两种函数在数据查询和处理中起着至关重要的作用。本教程将详细讲解这两种函数的使用,以及结合SELECT查询语句来演示其功能。" 在SQL中,单行函数用于处理每一行数据并返回一个值。在Oracle数据库中,单行函数分为Character(字符)、Number(数字)和Date(日期)等类型。例如: 1. Character函数:这些函数主要用于字符串操作,如CONCAT()用于连接字符串,LOWER()和UPPER()分别用于转换字符串为小写和大写,INSTR()用于查找子串在字符串中的位置。 2. Number函数:包括数学运算函数,如ROUND()用于四舍五入,TRUNC()用于截断数字,MOD()用于计算余数。 3. Date函数:处理日期和时间,如SYSDATE获取当前系统日期,ADD_MONTHS()添加指定月数,EXTRACT()提取日期或时间的特定部分。 单行函数的使用通常结合SELECT查询语句,如查询员工的名字、薪水或入职日期,可以使用如下语句: ```sql SELECT last_name, salary, hire_date FROM employees; ``` 接下来,我们讨论多行函数,也称为聚合函数。这类函数对一组行执行操作并返回单个结果。常见的多行函数有: 1. Group函数:GROUP BY用于根据一个或多个列对数据进行分组,COUNT()统计行数,SUM()求和,AVG()计算平均值,MAX()和MIN()找出最大值和最小值。 例如,如果我们想按部门ID分组并计算每个部门的总薪资,可以这样写: ```sql SELECT dept_id, SUM(salary) FROM employees GROUP BY dept_id; ``` 在SELECT查询中,还可以使用别名(AS关键字)给字段命名,连接字段(使用逗号或CONCAT()函数),以及处理空值(使用IS NULL或IS NOT NULL条件)。例如,查询所有不为空的邮箱地址: ```sql SELECT email AS "Employee Email" FROM employees WHERE email IS NOT NULL; ``` 运算符也是SQL查询的重要组成部分,包括比较运算符(=, <, >, <=, >=, !=),逻辑运算符(AND, OR, NOT),以及位运算符(&, |, ~)。运算符可以与表达式结合,如在计算年薪时使用乘法运算符: ```sql SELECT salary * 12 AS annual_salary FROM employees; ``` 注意,使用括号可以控制运算的优先级,确保正确执行复杂的表达式。 Oracle数据库中的SQL函数和查询语句提供了强大的数据处理能力,通过灵活运用单行函数和多行函数,可以满足各种数据查询和分析的需求。无论是简单的数据提取还是复杂的统计计算,都能够得心应手。