SQL代码示例:数据库操作与函数应用

需积分: 11 2 下载量 198 浏览量 更新于2024-09-12 收藏 23KB TXT 举报
"该资源是一个关于SQL操作的代码文件,主要展示了在scott数据库中的各种操作,包括数据插入、查询以及日期和字符串的转换。它提供了创建和操作表的实例,如report和CLASS表,同时也包含了对EMP表的查询,以展示如何获取员工的工号、姓名以及工作年限等信息。" 在SQL编程中,这段代码涉及到以下几个关键知识点: 1. **数据插入**:`INSERT INTO` 语句用于向表中插入新记录。例如,`insertintoreport` 和 `insertintoCLASS` 语句分别向report和CLASS表中插入新的行。注意,如果字段值为空,可以使用空字符串或NULL值。 2. **日期操作**: - `SYSDATE` 是Oracle SQL中的内置函数,返回当前系统日期。 - `MONTHS_BETWEEN` 计算两个日期之间的月数差。 - `ADD_MONTHS` 函数增加指定的月数到日期。 - `NEXT_DAY` 返回给定日期之后的第一个星期几。 - `LAST_DAY` 返回月份的最后一天。 - `TO_CHAR` 函数将日期转换为字符串格式,如 'yyyy-mm-dd' 或 'yyyy-mm-dd HH24:MI:SS'。 3. **时间间隔计算**:`ROUND((sysdate-hiredate)/7)` 计算员工的工作年数,通过将日期差除以7(一周的天数)来估算。 4. **字符串格式化**:`TO_CHAR` 函数用于将日期或数字转换为指定的字符串格式。例如,将日期转换为 'yyyy-mm-dd' 格式,或者将薪水转换为带有逗号分隔的格式。 5. **数值操作**:`TO_NUMBER` 函数将字符串转换为数值,如 `to_number('123')+to_number('123')`。 6. **数学运算与空值处理**:`sal+comm*12` 这一行展示了如何计算年薪,其中 `sal` 是薪水,`comm` 是奖金。如果 `comm` 为NULL,则根据SQL的规则,NULL与任何值的运算结果都是NULL。 7. **NULL值处理**:在SQL中,当与NULL进行算术运算时,结果通常也是NULL。在示例中,如果某个员工的奖金未定义(即NULL),那么其年薪也会是NULL。 8. **表查询**:`SELECT` 语句用于从表中选择数据,如 `selectempno,ename,round((sysdate-hiredate)/7)`,它选取了工号、姓名和工作年数。 这些例子展示了SQL的基本操作,适用于数据库管理和数据分析。通过这样的练习,你可以学习到如何管理数据库、执行查询以及格式化输出数据。这对于理解和编写SQL脚本是至关重要的。