oracle学习总结(三)
来源:互联网 发布:利淘网淘宝 编辑:程序博客网 时间:2024/05/16 19:11
一.组函数
1.常用的组函数
count(),avg(),max(),min(),sum()
2.sql中分组语句
group by
注意:where 后面不能出现组函数。
但可以间接使用
select id,last_name,salary from s_emp where salary<(select avg(salary) from s_emp);
如果要使用组函数条件限定,条件应该写在having的后面。
1)select 如果使用了组函数,那么没有使用组
函数的列需要放入到group by子句中
2)select 如果使用了组函数,那么没有使用组
函数的列需要放入到group by子句中
3)group by 可以涉及到多级分组,即
group by后指定多列
group by dept_id,title :求统一部门里统一职位的工资
4) having 子句中不能使用别名
目前为止select 语句的关键字顺序应该为
select..
from..
where…
group by…
having…
order by…
二. 子查询
1.查询里面嵌套查询
在执行数据操作的过程中,如果某个数据需要依赖于另外一个select语句查询出的结果,那么就可以把select语句嵌入到该操作中,这样就形成了一个子查询
位置:在增删改查命令中允许使用一个表达式的地方,都可以包含子查询
*****i 单行子查询 是指子查询语句只返回一条结果
ii 多行子查询 子查询语句返回多行数据*
1.1 在where条件中使用子查询,必须使用in any all
a>in
对所有子查询结果进行一一匹配可以看做是一个比较运算符
b> any
不能看做是一个比较运算符
必须结合单行运算符进行使用 = > < >= <=
主查询只要匹配任意子查询结果即可
any() 大于子查询结果的最小值
<any() 小于子查询结果的最大值 c> all 不能看做是一个比较运算符必须结合单行运算符进行使用 = > < >= <= >all() 大于最大<all() 小于最小值
2.子查询可以用在from后面
充当一个表 (这种做法一般比较容易忽略。)
如:查询每一个部门的员工小于该部门的平均工资的员工的信息?
select last_name,salary
from s_emp,(
select avg(salary) avg,dept_id
from s_emp
group by dept_id
) a where s_emp.dept_id=a.dept_id and salary
- oracle学习总结(三)
- oracle学习总结(三)
- oracle学习总结(三)
- oracle学习总结三(创建脚本)
- oracle学习总结三(bulk collect用法)
- oracle简单学习总结(三)——函数
- Oracle学习总结(三)——SQL基础
- oracle 学习(三)
- Oracle学习(三)
- 学习总结(三)
- Oracle学习笔记(三)
- oracle数据库学习(三)
- Oracle学习笔记(三)
- Oracle数据库学习(三)
- Oracle学习笔记(三)
- Oracle学习笔记(三)
- Oracle 学习(三)---序列
- Oracle 学习笔记(三)
- CCF-201312-1-出现次数最多的数
- 多线程实例
- Java Exception
- Android笔记——定制ListView的界面
- shell脚本编程教程之二 --- 基本的shell编程格式+简单的脚本实例
- oracle学习总结(三)
- 《Java从小白到大牛精简版》之前言
- 升职最快的人,从不一个人吃饭
- spark读取kafka数据 createStream和createDirectStream的区别
- 第三周项目四(1)—顺序表的应用
- [转]MySQL服务器上添加一个允许远程访问的用户
- JZOJ5365. 【GDOI2018模拟9.14】通信 线段树+重链剖分
- JavaScript语法基础和部分使用
- 我的Hibernate学习记录(二)