Oracle SQL基础笔记:全关联与子查询应用
需积分: 3 29 浏览量
更新于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 上传
2007-08-17 上传
2009-11-13 上传
lv365427774
- 粉丝: 0
- 资源: 1
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍