Oracle SQL基础笔记:全关联与子查询应用
需积分: 3 73 浏览量
更新于2024-09-13
收藏 21KB TXT 举报
本文档是一份实用且精简的SQL基础笔记,主要针对Oracle SQL语言进行讲解。内容涵盖SQL的关键语法和常用操作,包括但不限于:
1. **左连接(LEFT JOIN)**:这种连接方式返回的是左表(employees)的所有记录,即使在右表(departments)中没有匹配的记录,也会显示NULL值。通过`left join departments using (department_id)`的语句结构实现。
2. **右连接(RIGHT JOIN)**:与左连接相反,右连接返回的是右表的所有记录,即使左表中没有匹配,也会显示NULL值。使用`right join departments using (department_id)`实现。
3. **全外连接(FULL OUTER JOIN)**:同时包含左连接和右连接的结果,如果两边都没有匹配,则返回NULL。通过`full outer join departments using (department_id)`来执行全外连接查询。
4. **子查询(Subquery)**:子查询可以在一个查询内部嵌套另一个查询,用于获取所需的数据。例如,`select * from emp where sal > (select sal from emp where empno = 7566)`是使用子查询来比较员工薪水。
5. **条件运算符**:在`WHERE`子句中,`<`, `>`, `>=`, `<`, `<=`, `<>`等操作符用于比较两个值。例如,筛选出薪水高于部门平均薪水的员工。
6. **聚合函数**:如`AVG()`,用于计算指定字段的平均值,如`select avg(sal) from emp group by deptno`,可以用来计算每个部门的平均薪水。
7. **排序(ORDER BY)**:`ORDER BY`用于对结果集按特定列进行排序,`DESC`关键字表示降序,而`ASC`默认为升序。例如,`ORDER BY sal DESC`按薪水降序排列。
8. **分组(GROUP BY)**:`GROUP BY`用于将数据按照一个或多个列进行分组,常与聚合函数一起使用。如上例中的`group by deptno`。
9. **IN, ANY, ALL 运算符**:这些用于检查某个值是否存在于一组值中。`IN`表示在某个范围或集合内查找,`ANY`检查是否有任意一个满足条件,`ALL`则检查所有条件都满足。例如,`sal > any(select avg(sal)`检查某个员工的薪水是否大于任何其他部门的平均薪水。
这份笔记提供了一套基础且实用的SQL操作指南,适用于初学者理解和掌握Oracle SQL语言的核心概念和常用技巧。通过这些内容,读者可以快速上手并有效地处理各种数据库查询任务。
2011-07-20 上传
2013-09-11 上传
2021-04-10 上传
2022-03-01 上传
2009-11-13 上传
lv365427774
- 粉丝: 0
- 资源: 1
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫