在"第 2 天 多表查询与数据更新"的笔记中,我们深入了解了Oracle数据库管理和SQL语言的相关概念。以下是一些关键知识点:
1. Oracle数据库管理系统:Oracle是企业级的关系型数据库,以其高效性能和安全性闻名。在这个章节里,学习者可能接触到了一些基本的数据库连接工具,如SQLPLUSW,以及设置行宽(SETLINESIZE)和页大小(SETPAGESIZE)的命令。
2. SQL语法基础:
- DISTINCT关键字用于查询结果中去除重复的行。
- TO_CHAR()函数用于格式化日期或字符串输出。
- NVL()函数用于返回如果某个表达式为NULL,则返回其他指定值。
- DECODE()函数是一种条件表达式,可以根据条件返回不同的值。
3. 多表查询:
- SELECT语句可以连接多个表(如emp和dept),通过JOIN操作获取不同表中的数据。例如,`SELECT * FROM emp, dept WHERE emp.deptno = dept.deptno;` 这个查询将返回两个表中deptno匹配的员工信息。
- 使用嵌套查询,如`SELECT e.ename, m.ename FROM emp e, emp m WHERE e.mgr = m.empno;` 用来查找直接上级经理的名字。
4. 数据汇总:
- COUNT(*)函数用于计算表中的记录数量,例如`SELECT COUNT(*) FROM emp;` 和 `SELECT COUNT(*) FROM dept;` 分别统计员工和部门的数量。
- 在涉及多表时,可以使用`SELECT COUNT(*) FROM emp e, dept d WHERE e.deptno = d.deptno;` 来找出有部门关联的员工数量。
5. 更复杂的查询:
- 包含了部门名称、员工姓名和经理姓名的查询,例如`SELECT e.ename, e.job, m.ename, d.dname FROM emp e, emp m, dept d WHERE e.mgr = m.empno;` 这个查询不仅显示员工信息,还包含了他们所在的部门名。
这些笔记涵盖了Oracle数据库中进行多表查询和基本的数据更新操作,包括如何有效地连接表、过滤数据和汇总信息。这对于理解和应用SQL在实际项目中处理大量数据至关重要。通过学习和实践这些概念,读者可以提升对数据库管理的技能,并能够构建更复杂的查询来满足业务需求。