第5讲 分组查询 IBM Confidential.

Slides:



Advertisements
Similar presentations
手工加工全框眼镜技术 前调整确定加工基准制作模板割边 磨边磨安全角 (抛光) 装配 后调整检测.
Advertisements

第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
企业文化与核心价值观 主讲:孟凡驰 教授 中交四航局. 2 目 录 一、企业文化的目的价值恒久性与工具价值实践性 二、企业文化管理学特征 三、企业文化与企业发展战略 四、企业文化整合、提炼、培育和建设的目的 五、集团文化与分公司文化 六、企业核心价值观.
《公路纵断面设计》 —— 纵断面设计的要求 道桥系 二○○七年五月. 纵断面设计的一般要求 1 .纵坡设计必须满足《公路工程技术标准》中的各项规定。 2 .为保证汽车能以一定的车速安全舒顺地行驶,纵坡应具有 — 定 的平顺性,起伏不宜过大及过于频繁。尽量避免采用极限纵坡 值.缓和坡段应自然地配合地形设置,在连续采用极限长度的.
個人理財規劃 第八章 投資規劃.
保育员工作职责.
第6章 数据库管理软件Access 年秋.
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
SQL的简单查询.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
第2章 SQL语言初步 2.1 SQL的基本概念 2.2 基本表、索引的创建、删除和修改操作 2.3 SQL的查询语句——SELECT
第2讲 Transact-SQL语言.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
数据库技术 实践.
Chap 11 SQL基本查詢指令.
第8章 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
第三章 儿童少年、女子及 中老年的体育卫生 第一节 儿童少年的体育卫生
公关协调 能力目标 初步学会对内及对外公众关系协调的基本方法。 知识目标 掌握组织内外公众协调的原理和方法。
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
学生学业水平诊断与提升策略探究 平阳中学 周秀丽.
第3章 SQL的基础知识 数据库管理及应用 3.1 SQL简介 3.2 SQL的数据模型 3.3 标识符 3.4 使用SQL语句管理数据库
第7章 数据库基础知识 SQL常用命令使用方法 (1) 数据记录筛选: sql="select * from 数据表
第二节 工业地域的形成 工业联系 工业集聚 工业地域
文科计算机小公共课规划教材 Access 程序设计.
第一讲 数据查询优化.
當代國際企業.
《计算机应用基础》 第六章 Access数据库管理系统
足球運動情報蒐集與分析 趙榮瑞 教授.
講師:賴玉珊 心理師 證照:諮商心理師(諮心字第001495號) 學歷:國立台南大學諮商與輔導研究所 畢 現任:長榮大學諮商中心專任心理師
软件设计师培训.
复习: 一、细胞膜的成分 1、脂质 2、蛋白质 3、糖类 二、生物膜的功能: 1、界膜 2、控制物质的进出 3、进行细胞间信息交流.
第九章 长期资产及摊销 2017/3/21.
第3章 数据查询与SQL命令.
Oracle数据库入门.
9 SELECT敘述的進階查詢 9-1 SQL的多資料表查詢 9-2 合併查詢 9-3 集合運算查詢 9-4 子查詢
2、掌握SQL中各种查询方法和数据更新方法 3、掌握SQL中视图的定义方法和用法 4、掌握SQL的授权机制
資料庫安全 (Database Security)
彰化縣政府補助辦理網頁設計資料庫應用班 ASP與資料庫介紹 建國技術學院資管系 饒瑞佶.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
第九章 進階的查詢技巧.
SQL SERVER 一些经典语句 1.
MySQL 結構化查詢語言 MySQL.
第十七章 資料庫SQL 17-1 SELECT 17-2 INSERT 17-3 UPDATE 17-4 DELETE.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
網路遊戲版 幸福農場168號.
数据库技术.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
資料庫系統 李翊豪 2017/12/21 Reference
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
查询与视图 蔡海洋.
第14章 SQL数据查询与操纵 内容提要 本章知识点
SQL查询语句 蔡海洋.
附錄D Access應用說明 主從式資料庫系統 - 附錄D.
國二EXCEL專案 上機考試版本: 主講者:黃韋欽 老師 考試者:國二全體學生.
本讲内容 SQL 概述 SQL 的查询功能 SQL 的操作功能 SQL 的定义功能.
8 SELECT敘述的基本查詢 8-1 SELECT查詢指令 8-2 SELECT子句 8-3 FROM子句 8-4 WHERE子句
知识产权在中小企业中的作用 讲座内容 一、知识产权在发达国家及知名企业中的地位 二、知识产权的基本概念及其特点
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
数据分析工具 第10节.
模块六 数据库管理软件——Access 2010.
資料庫應用與實作 一到六章重點、習題.
第4章 数据查询.
第 9 章 查詢資料- 善用 SELECT 敘述.
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

第5讲 分组查询 IBM Confidential

目标 分组函数 分组查询

分组函数

分组函数 分组函数 注意事项 分组函数对一组数据进行运算,针对一组数据(多行记录)只返回一个结果,也称多行函数或者分聚合函数。 1、聚合函数不能和普通列一起使用 2、聚合函数经常用在分组查询中 函数名 功能说明 适用类型 avg() 计算平均值 数值类型 sum() 求和 count() 计算查询得到的记录行数 任何数据类型 max() 计算最大值 min() 计算最小值

分组函数的使用 用于数值类型 select avg(sal), sum(sal), count(sal), max(sal), min(sal) from emp; 用于日期类型 select count(hiredate), max(hiredate), min(hiredate) from emp; 用于字符类型 select count(ename),max(ename), min(ename) from emp; COUNT()函数使用 1、count(*)返回组中总记录数目; 2、count(exp)返回表达式exp值非空的记录数目; 3、count(distinct(exp))返回表达式exp值不重复的、非空的记录数目。 select count(*) from emp; select count(comm) from emp; select count(distinct(deptno)) from emp;

分组函数的使用 分组函数省略列中的空值 select avg(comm) from emp; 用于空值类型 分组函数省略列中的空值 select avg(comm) from emp; select sum(comm) from emp; 可使用NVL()函数强制分组函数处理空值 select avg(nvl(comm, 0)) from emp; 错误使用 分组函数不能和普通列同在select语句中使用,因为分组函数查询返回的是单一值,普通列查询返回的是多个值。 select count(empno),ename from scott.emp;

分组查询

分组查询语法 SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [HAVING groupby_condition] [ORDER BY column| group_function(column)];

查询雇员表,统计各部门雇员的平均工资。怎么办? 单列分组汇总 查询雇员表,统计各部门雇员的平均工资。怎么办? SELECT deptno,avg(sal) FROM scott.emp GROUP BY deptno

查询雇员表,统计各部门中各岗位雇员的平均工资。怎么办? 多列分组汇总 查询雇员表,统计各部门中各岗位雇员的平均工资。怎么办? SELECT deptno,job,avg(sal) FROM scott.emp GROUP BY deptno,job

查询雇员表,统计各部门中各岗位雇员的平均工资大于2000。怎么办? 分组过滤 查询雇员表,统计各部门中各岗位雇员的平均工资大于2000。怎么办? SELECT deptno,job,avg(sal) FROM scott.emp GROUP BY deptno,job HAVING avg(sal)>2000

查询雇员表,统计各部门中各岗位雇员的平均工资大于2000,按平均工资的高低进行排序。怎么办? 分组排序 查询雇员表,统计各部门中各岗位雇员的平均工资大于2000,按平均工资的高低进行排序。怎么办? SELECT deptno,job,avg(sal) FROM scott.emp GROUP BY deptno,job HAVING avg(sal)>2000 ORDER BY avg(sal);

分组查询注意事项 分组表 分组表中的合法列 分组查询中的查询列 为分组查询后产生的新表,表中被分组的字段值不会存在重复值 1、被分组的列 2、对原表的列进行计算并返回单一值的聚合函数表达式 分组查询中的查询列 是查询生成分组表的操作,所以Select之后的合法列只能是分组表中的合法列 不允许在WHERE 子句中使用分组函数。WHERE是分组前的过滤 非法分组查询 SELECT ename,deptno,avg(sal) FROM scott.emp WHERE avg(sal)>2000 GROUP BY deptno

分组查询执行次序 WHERE GROUP BY 聚合函数 HAVING ORDER BY 操作原始表:对原始表的记录进行过滤筛选 操作原始表:将分组字段在原始表中的值原版的搬送到分组表中 聚合函数 操作原始表:聚合函数对各组值进行汇总后搬送到分组表中 HAVING 操作分组表:对分组表中的记录进行过滤筛选 ORDER BY 操作分组表:对分组表中的记录进行排序

分组查询执行次序举例 SELECT deptno,job,avg(sal) FROM scott.emp WHERE ename<>'scott' GROUP BY deptno,job HAVING avg(sal)>2000 ORDER BY avg(sal) desc

小结1 以下的查询语句: Select * From A 将得到以下的查询结果: A1 B1 C1 1001 P1 70 那么,以下的查询语句将输出哪些信息? Select A1,B1,MAX(C1) FROM A