SQL实战:40个操作示例解析

4星 · 超过85%的资源 需积分: 9 8 下载量 175 浏览量 更新于2024-09-19 收藏 45KB DOC 举报
"这篇文档是关于SQL知识的学习资料,提供了40个实例,涵盖了Oracle数据库中的基本查询操作,包括选择特定条件的数据、多表连接、条件运算符、函数应用等。文档强调了实践的重要性,所有答案都经过了实际验证,适合初学者和进阶者学习。" 在SQL语言中,查询数据是核心功能之一。以下是一些关键知识点: 1. **基础查询**: `SELECT`语句用于从数据库中选择数据,例如`SELECT * FROM emp WHERE deptno = 30;`这条语句会返回部门编号为30的所有雇员信息。 2. **条件过滤**: 可以使用比较运算符如`>`进行条件筛选,如`SELECT * FROM emp WHERE comm > sal;`找出佣金高于薪水的雇员。 3. **百分比计算**: 在SQL中,可以使用乘法运算符实现百分比比较,如`SELECT * FROM emp WHERE comm > sal * 0.6;`找出佣金超过薪水60%的雇员。 4. **逻辑运算**: `AND`和`OR`用于组合多个条件,如`WHERE (deptno = 10 AND job = 'MANAGER') OR (deptno = 20 AND job = 'CLERK');`可以找到特定部门的经理或办事员。 5. **不等于运算符**: 不等于可以表示为`<>`、`!=`或`^=`, 如`WHERE job <> upper('manager') AND job <> upper('clerk')`查找既不是经理也不是办事员且薪水大于2000的雇员。 6. **多表连接**: 使用`JOIN`进行多表查询,例如`SELECT e.ename, e.empno, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno AND job = upper('clerk');`获取所有办事员的姓名、编号和部门名称。 7. **去重操作**: `DISTINCT`关键字用于去除结果集中重复的记录,如`SELECT DISTINCT job FROM emp WHERE comm > 0;`显示所有收取佣金的雇员的不同工作。 8. **函数应用**: `NVL`函数用于处理NULL值,`SELECT ename FROM emp WHERE NVL(comm, 0) < 100;`查找佣金低于100的雇员,即使佣金字段为NULL也会将其视为0。 9. **日期函数**: `LAST_DAY`函数可以获取月份的最后一天,`SELECT * FROM emp WHERE hiredate = LAST_DAY(hiredate);`找出在每月最后一天入职的员工。 10. **日期计算**: SQL允许对日期进行算术操作,如`SELECT * FROM emp WHERE hiredate <= SYSDATE - INTERVAL '25' YEAR;`找出工龄超过25年的雇员。 这些实例展示了SQL在数据查询和过滤方面的强大能力,通过实践这些例子,你可以深入理解SQL的基础语法和功能,从而更好地管理和查询数据库。对于学习SQL的人来说,这是一个非常实用的资源。