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

需积分: 32 3 下载量 117 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
"Oracle SQL函数详解,包括单行函数和多行函数,如Character、Number、Date转换等,以及如何在SELECT查询中使用表达式、运算符、处理空值和连接查询字段。" 在Oracle数据库中,SQL(Structured Query Language)是用于管理关系数据库的强大工具。本资料主要探讨了两种类型的SQL函数:单行函数和多行函数,并结合实际的SELECT查询语句进行了详细讲解。 1. 单行函数: 单行函数作用于一行数据的一个或多个值,返回的结果也是一行。这些函数可以分为Character、Number和Date转换等类别: - Character函数:处理字符串,例如UPPER()用于将文本转换为大写,LOWER()用于转换为小写,INSTR()用于查找子串的位置。 - Number函数:进行数学运算,如ROUND()用于四舍五入,TRUNC()用于截断数字到指定的小数位。 - Date函数:处理日期和时间,如EXTRACT()用于提取日期部分,ADD_MONTHS()用于增加月份,TO_CHAR()和TO_DATE()用于日期和字符串之间的转换。 2. 转换函数: 这些函数用于在不同数据类型之间转换,如NUMTOCHAR()将数字转换为字符,TO_NUMBER()将字符转换为数字,以及TO_DATE()和TO_CHAR()用于日期与字符串之间的转换。 3. SELECT查询: SELECT查询是SQL中最基础且最常用的语句,用于从数据库中检索数据。基本语法如下: ```sql SELECT <列名> FROM <表名>; ``` - 查询所有列可以使用通配符`*`,如`SELECT * FROM s_emp;` - 可以选择特定列,如`SELECT dept_id, salary FROM s_emp;` - 在查询中可以使用算数表达式,如`SELECT salary*12 FROM s_emp;`来计算年薪。 - 运算符如`+`, `-`, `*`, `/`可用于字段间运算,而括号可以控制运算的优先级。 - 对空值(NULL)的处理,可以使用IS NULL或IS NOT NULL条件。 - 使用AS关键字可以为查询结果的列起别名,如`SELECT last_name AS "Employee Name" FROM s_emp;` - 字段连接可通过CONCAT()函数实现,如`SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM s_emp;` 4. 多行函数: 多行函数,如GROUP BY和AGGREGATE函数(如COUNT(), SUM(), AVG(), MAX(), MIN()),用于处理多行数据。例如,可以使用GROUP BY按部门ID分组员工,然后计算每个部门的平均工资。 ```sql SELECT dept_id, AVG(salary) FROM s_emp GROUP BY dept_id; ``` 这样的查询会返回每个部门的平均薪资。 通过理解并熟练应用这些SQL函数和查询技巧,你将能够更有效地在Oracle数据库中操作和分析数据。无论是简单的数据检索还是复杂的统计分析,掌握这些知识都是至关重要的。