五、Oracle 分组查询、视图
一。分组函数
1.avg:平均分
2.sum:求和
3.max:最大值
4.min:最小值
注意:前面四个必须针对数值字段,且参数只能是一个
5.count:求个数
二。分组查询
1。语法是 group by 分组字段1,分组字段2...
2.分组后可以使用分组函数。
3.分组函数不能和其他字段一起显示,除了分组字段。
4.分组查询之后还要做条件限制的话,用having子句
5.关键字的顺序:select ...from...where...group by...having...order by....
三。子查询:在查询的结果上继续查询
1.将查询结果作为新的表继续查询
select * from student a,(select * from grade) b where a.xxid=b.xxid
2.将查询结果作为查询条件来使用
select * from grade where student in (select st_id from student where st_sex='女')
四。视图(view)
1.作用。保存查询结果,方便反复调用
2.语法:create view 视图名 as 查询语句
3.注意:视图的数据可以修改,但不建议修改。统计后的数据,用了函数的数据,以及非键保留值得数据都不能修改
练习:
1.查询每门课程的最高分和最低分,显示如下
java最高分:99 最低分:33
oracle最高分:100 最低分: 55
select a.dic_name,max(b.socre) 最高分,min(b.socre) 最低分
,avg(b.socre) 平均分,sum(b.socre) 总和 from diclipline a,grade b
where a.dic_id=b.diclipline
group by a.dic_name 2.查询每门成绩的平均分和总分 3.查询java1班参加oracle考试的人数
select count(rownum) from squad a3,diclipline b3,grade c3,student d3 where a3.squad_id=d3.st_class
and b3.dic_id=c3.diclipline and c3.student=d3.st_id
and a3.squad_name='java1班' and b3.dic_name='oracle' 4.查询每个班j2ee考试的平均分,并按降序排序
select a4.squad_name,avg(c4.socre) from squad a4,diclipline b4,grade c4,student d4 where a4.squad_id=d4.st_class
and b4.dic_id=c4.diclipline and c4.student=d4.st_id and b4.dic_name='j2ee'
group by a4.squad_name order by avg(c4.socre) desc 5.查询oracle考试平均成绩不及格的班级有哪些
select avg(c5.socre),a5.squad_name,b5.dic_name from squad a5,diclipline b5,grade c5,student d5 where a5.squad_id=d5.st_class
and b5.dic_id=c5.diclipline and c5.student=d5.st_id and b5.dic_name='oracle'
group by a5.squad_name,b5.dic_name having avg(c5.socre)>60 6.查询所有java考试不及格的学员是哪些
select * from grade where socre<60
五、Oracle 分组查询、视图的更多相关文章
- ORACLE分组查询和统计等
select flow_id,rw from (select t.flow_id ,rownum as rw from apex_030200.wwv_flow_list_templates t) ...
- Django day08 多表操作 (五) 聚合,分组查询 和 F,Q查询
一:聚合,分组查询 二:F, Q查询
- oracle分组查询实例ORA-00979和ORA-00937错误分析
select J.ZWJGH,J.CZZXBH,J.JZZT,J.CWNY,J.JZPZH sum(J.FSE)<!-- 聚合函数字段没在分组条件中--> from JZPZXX J &l ...
- oracle分组查询
分组函数 在分组函数中,如果有一个查找项分组,其他项必须也分组,比如下面的语句会报错,因为sal分组了,而ename没有分组: 1.显示工资最高的员工: 2.显示所有员工的平均工资: 2.1使用系统函 ...
- oracle 分组查询
常用的函数: ·:统计个数:COUNT(),根据表中的实际数据量返回结果: ·:求和:SUM(),是针对于数字的统计,求和 ·:平均值 ...
- 【知识库】-数据库_MySQL之基本数据查询:子查询、分组查询、模糊查询
简书作者:seay 文章出处: 关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询 回顾:[知识库]-数据库_MySQL常用SQL语句语法大全示例 Learn [已经过测试校验] 一.简单查询 ...
- Oracle总结【SQL细节、多表查询、分组查询、分页】
前言 在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了...印象中就只有基本的SQL语句和相关一些概念....写下本博文的原因就是记载着Or ...
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...
- .Net程序员学用Oracle系列(21):分组查询(GROUP BY)
1.GROUP BY 标准分组 1.1.GROUP BY 概述 1.2.WHERE 和 HAVING 的区别? 2.GROUP BY 扩展分组 2.1.ROLLUP 分组 2.2.CUBE 分组 2. ...
随机推荐
- hihoCoder编程练习赛70
题目1 : 数位翻转 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 n,你可以进行若干次操作,每次操作可以翻转 n 的二进制表示下的某一位,即将 0 变成 ...
- h5+js视频播放器控件
由于h5兼容性问题,很多浏览器对于插入视频播放的支持都大不相同.火狐支持的比较完整,谷歌则支持的不是很好,很多功能都不能实现,这就需要我们去自制一个播放界面,去兼容不同的浏览器. 只插入一个视频时,浏 ...
- @Value取不到值的原因(引用application.properties中自定义的值)
在spring mvc架构中,如果希望在程序中直接使用properties中定义的配置值,通常使用一下方式来获取: @Value("${tag}") private String ...
- leaflet计算多边形面积
上一篇介绍了使用leaflet绘制圆形,那如何计算圆形的面积呢? 1.使用数学公式计算,绘制好圆形后,获取中心点以及半径即可 2.使用第三方工具计算,如turf.js. 这里turf的area方法入参 ...
- 自动化测试 接口自动化及UI自动化测试平台设计演示
接口自动化及UI自动化测试平台设计演示 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群:7156436 大家好,我是授客. 本视频意在分享个人,基于Python,Djan ...
- Android为TV端助力 清除本应用里的各种数据的方法
public class DataCleanManager { /** * * 清除本应用内部缓存(/data/data/com.xxx.xxx/cache) * * * * @param conte ...
- Android为TV端助力 deep link(深度链接)与自定义协议!
此自定义仅供参考! 首先打开androidManifest.xml 在MainActivity中添加如下内容: <activity android:name=".MainActivit ...
- 官网下载的Struts 2解压后缺少xwork-core.jar文件
为Eclipse配置Struts-2.5.10所需最少jar文件: 缺少的文件已被合并在struts2-core-2.5.10.jar文件中.我下的是最新版的,如果你下的找不到就是这个原因啦.
- ERP主副机和打印机配置FAQ
一.主副机 1. ERP主副机配置 先配置主机 再配置副机 在主机的电脑上键盘按win+R键,输入cmd 再输入ipconfig查看主机的IP 然后在副机上安装银盒子ERP,在红框位置输入主机IP 选 ...
- Symantec Backup Exec 2010 安装报 bad ELF interpreter: No such file or directory
在64位的Red Hat Enterprise Linux Server release 6.6上安装Symantec Backup Exec 2010时, 遇到下面错误: # ./installra ...