oracle学习笔记(十一) 高级查询
高级查询
分组查询
select * from student
[where ]
[having ] --二次限定
[order by] --asc升序 desc降序 默认升序
查看EMPLOYEE表中,员工在同一部门做相同工作且总工资大于5000,平均工资小于1500的薪水情况和人数?
select deptno,job,count(*) from employee
group by deptno,job
having avg(sal)<1500 and sum(sal) >5000
order by deptno;
分组查询注意事项:
如果在查询结果中的某些字段上没有使用分组函数,那么这些字段就必须出现在group by子句中。这是一个分组查询的强制性规则。
--查询每个部门的人数以及部门的总工资
--两个列都是使用了分组函数,所以group by 语句中可以省略不写
--但deptno没有使用分组函数,所以要group by语句中要出现deptno
select deptno,count(empno),sum(sal) from employee
group by deptno
非等值连接
简单地来说,连接条件就是某些值满足在某个范围之内
--salgrade表中三个属性,losal-hisal是工资范围,grade则是该范围对应的等级
select ename,salgrade from employee,salgrade
where sal between losal and hisal;
内连接inner join(等值连接)
多用于表之间有关联关系,如主外键关系的表
select * from employee e
join department d --这里相当于inner join,inner可以省略
on e.deptno = d.deptno;
--等值连接
select * frjom employee e,department d
where e.deptno = d.deptno;
左外连接left outer join
多用于表之间有关联关系,如主外键关系的表,不过以左边数据为标准,未匹配的以空行出现
一般outer可以省略不写
select * from employee e
left join depaterment d on e.deptno = d.deptno;
右外连接
与左外连接相反,以右边数据为标准,未匹配的以空行出现,好像不常用
子查询
单行子查询可以出现在以下位置:
- select语句
- from语句
- join子句中
- HAVING子句中
多行子查询:
- ANY(值列表): 与子查询结果列表中的任何一个值比较。
- ALL(值列表):与子查询结果列表中的所有值比较。
- IN(值列表): 等于列表中的任何一个值。
select *
from employee
where sal<any(select distinct sal from employee where job='SALESMAN')
oracle学习笔记(十一) 高级查询的更多相关文章
- Oracle学习笔记十一 游标
游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作 ...
- Oracle学习笔记_07_模糊查询
附录:参考资料 1.Oracle sql语言模糊查询--like后面的通配符 2.oracle sql语言模糊查询--通配符like的使用教程
- Oracle学习笔记(十一)
例外: 例外是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性. 例外分为:系统例外自定义例外 系统例外分为:No_data_found(没有找到数据).Too_many_rows(selec ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- MyBatis:学习笔记(3)——关联查询
MyBatis:学习笔记(3)--关联查询 关联查询 理解联结 SQL最强大的功能之一在于我们可以在数据查询的执行中可以使用联结,来将多个表中的数据作为整体进行筛选. 模拟一个简单的在线商品购物系统, ...
- python3.4学习笔记(十一) 列表、数组实例
python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...
随机推荐
- Element-ui 下拉列表 选项过多时通过自定义搜索来解决卡顿问题
当使用Select选择器时,如果下拉列表的数据量太多,会有一个明显的卡顿体验,例如: <!DOCTYPE html> <html lang="en"> &l ...
- 通过修改VAD属性破除锁页机制
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 技术学习来源:火哥(QQ:471194425) 注释:因为自己的知 ...
- PlayJava Day014
今日所学: /* 2019.08.19开始学习,此为补档. */ 1.Random生成的随机数是伪随机数,因为只要两个Random对象的种子相同,而且方法的调用顺序也相同,则产生的随机数相同. Ran ...
- Add a Parametrized Action 添加带参数的按钮
In this lesson, you will learn how to add a Parametrized Action. These types of Actions are slightly ...
- SSM框架之spring(1)
spring(1) 1.spring概述 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP( ...
- JS 对象定义
JS 对象 JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外,JavaScript 允许自定义对象. JavaScript 对象 JavaScript 提供多个内建对象 ...
- html-css___table属性(设置细线边框)
border-collapse 属性设置表格的边框是否被合并为一个单一的边框 //设置table实线边框 table,td{ /*边框合并*/ border-collapse: collapse; b ...
- Thymeleaf常用语法:数据迭代
Thymeleaf数据迭代使用th:each属性,可以迭代数组.List.Set和Map等,数组.List.Set的迭代方法类似,迭代Map则会得到一个java.util.Map.Entry对象.在迭 ...
- gdisk分区及swap分区
gdisk分区及swap分区 gdisk分区,分区表是GPT,支持更大的分区,128G gdisk分区 一,添加硬盘 二,分区 1,安装gdisk [root@oldboy ~]# yum insta ...
- [20191108]内核参数tcp_keepalive与sqlnet.ora expire_time的一些总结.txt
[20191108]内核参数tcp_keepalive与sqlnet.ora expire_time的一些总结.txt --//前几天在做12c DCD SQLNET.EXPIRE_TIME相关测试时 ...