




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3节SQL的数据查询 第5章关系数据库语言SQL 主要内容 简单查询常用函数及其使用方式SQL高级查询技术谓词演算查询 2 数据查询 SELECT命令的格式与基本使用SELECT ALL DISTINCT TOPN PERCENT WITHTIES 列名 AS别名1 列名 AS别名2 INTO新表名 FROM 表名1或视图名1 AS 表1别名 表名2或视图名2 AS 表2别名 WHERE 检索条件 GROUPBY HAVING ORDERBY ASC DESC 投影 选取 3 一 简单查询 1 SELECT和FROM子句SELECTFROM WHERE 作用SELECT 用来列出查询结果中的属性FROM 用来列出需扫描的关系WHERE 指定选择记录的条件 4 2 无条件查询 例3 16查询教学管理数据库中全部学生的基本信息 SELECT FROMS 5 2 无条件查询 续 例3 17查询教学管理数据库中全部教师的教职工编号 姓名 职称和所属教研室 SELECTT TNAME TITLEOF TRSECTIONFROMT 6 2 无条件查询聚合函数 聚合函数能够根据查询结果的记录集或根据查询结果的记录集中某列值的特点返回一个汇总信息的函数 输入 值的一个集合返回 单个值 7 8 聚合函数COUNT 计算元组的个数COUNT 列名 计算某一列中数据的个数COUNTDISTINCT 列名 计算某一列中不同值的个数SUM 列名 计算某一数据列中值的总和AVG 列名 计算某一数据列中值的平均值MIN 列名 求 字符 日期 数值列 的最小值MAX 列名 求 字符 日期 数值列 的最大值 2 无条件查询聚合函数 续 9 例3 18查询开课总门数SELECTCOUNT FROMC 例3 19计算所有学生所学课程的最高分数 最低分数和平均分数 SELECTMAX GRADE MIN GRADE AVG GRADE FROMSC 2 无条件查询聚合函数 例 10 3 单条件查询 例3 20查询所有学习了计算机网络课 课程号为C403001 的学生的学号和成绩SELECTS GRADEFROMSCWHEREC C403001 11 4 多条件查询 例3 21查询选修了计算机网络课 课程号为C403001 或信息安全技术课 课程号为C403002 的学生的学号SELECTS FROMSCWHEREC C403001 ORC C403002 12 5 分组查询 SELECTFROM WHERE GROUPBY 作用 对满足WHERE条件的元组集按照指定的列的值进行分组 该属性列值相等的元组为一组 13 例 例3 23计算各个同学的平均分数 SELECTS AVG GRADE FROMSCGROUPBYS SELECTFROM WHERE GROUPBY HAVING 作用 指定GROUPBY子句形成的分组所应满足的条件 5 分组查询 续 14 15 例 例3 25查询学生总数超过300人的专业及其具体的总人数SELECTSCODE COUNT FROMSGROUPBYSCODEHAVINGCOUNT 300 16 6 结果的排序 ORDERBY ASC DESC ASC DESC 作用 依据给定列的值 控制查询结果中元组的排列顺序 17 6 结果的排序 例 例3 27按学号递增 课程成绩递减的显示顺序显示学生的课程成绩SELECTS C GRADEFROMSCORDERBYS ASC GRADEDESC 18 7 字符串的匹配 下划线通配符 代表任意一个字符百分号通配符 代表任意长度的字符串例3 28查询S中姓李的学生的学号和姓名SELECTS SNAMEFROMSWHERESNAMELIKE 李 19 简单查询语句 SELECTFROM WHERE GROUPBY HAVING ORDERBY ASC DESC ASC DESC 读取FROM子句指定的基本表或视图的数据 执行笛卡尔积操作 选取满足WHERE子句中给出的条件表达式的元组 按GROUPBY子句中指定列的值进行分组 同时提取满足HAVING子句中组条件表达式的那些组 按SELECT子句中给出的列名或列表达式求值输出 ORDERBY子句对输出的结果 目标表 进行排序 按指定列的值升序或降序排列 20 二 SQL高级查询技术 1 多表联接查询例3 32查询所有学习了数据结构课 课程号为C401001 的学生的学号和姓名SELECTS S SNAMEFROMS SCWHERES S SC S ANDC C401001 21 2 嵌套查询 在SQL语言中 如果在一个SELECT语句的WHERE子句中嵌入了另一个SELECT语句 则称这种查询为嵌套查询 WHERE子句中的SELECT语句称为子查询 外部的查询称为父查询 22 SELECT FROMSWHERECLASS ANDSSEX 女 2 嵌套查询例 示例查询张华同学 学号为200401001 的那个班的女同学的基本信息 SELECTCLASSFROMSWHERES 200401001 23 3 查询中的表更名 3 查询中的表更名旧名AS新名例3 35检索成绩比该课程平均成绩低的学生成绩表 SELECTS C GRADEFROMSCWHEREGRADE SELECTAVG GRADE FROMSCASXWHEREX C SC C 24 三 谓词演算查询 所谓基于谓词演算的查询是指把谓词看作是特殊比较操作符 应用于WHERE子句的条件表达式中的查询 25 格式 INNOTIN含义 1 IN和NOTIN 如果集合1中的数据是集合2中的成员 那么其逻辑值为true 否则为false 26 例3 36查询所有学习了数据结构课 课程号为C401001 的学生的学号和姓名 SELECTS S SNAMEFROMSWHERES IN SELECTS FROMSCWHEREC C401001 1 IN和NOTIN例 27 格式 ANY SOME含义 2 ANY和SOME 如果比较运算符 左边的数据与右边集合中至少一个元素满足 运算 那么其逻辑值为true 否则为false 28 例3 38查询所有学习了数据结构课 课程号为C401001 的学生的学号和姓名 解法3SELECTS S SNAMEFROMSWHERES ANY SELECTS FROMSCWHEREC C401001 2 ANY和SOME例 29 格式 ALL含义 3 ALL 如果比较运算符 左边的数据与右边集合中所有元素满足 运算 那么其逻辑值为true 否则为false 30 3 ALL例 例3 39查询考试成绩大于计算机科学专业 专业代码S0401 所有学生课程成绩的学生的基本信息SELECTS FROMS SCWHERES S SC S ANDGRADE ALL SELECTGRADEFROMS SCWHERES S SC S ANDSCODE S0401 31 格式 EXISTS NOTEXISTS 含义 4 EXISTS和NOTEXISTS EXISTS是存在量词 当集合中至少存在一个元素 非空 时 其逻辑值为true 否则为false NOTEXISTS是空集判断 当集合中不存在任何元素 为空 时 其逻辑值为true 否则为false 32 例3 40查询所有学习了数据结构课 课程号为C401001 的学生的学号和姓名 SELECTS S SNAMEFROMSWHEREEXISTS SELECT FROMSCWHERESC S S S ANDC C401001 4 EXISTS和NOTEXISTS例 33 SELECTC AVG GRADE FROMSC TEACH TWHERESC C TEACH C ANDTEACH T T T ANDTNAMELike 张 GROUPBYC ORDERBY2DESC 例 求张老师所授课程的每门课程的学生平均成绩 并按平均成绩降序输出 第4节SQL的视图操作 第5章关系数据库语言SQL 主要内容 视图的概念视图的定义在视图上进行查询操作用户视图对数据库系统设计和性能带来的影响 35 一 视图的概念 视图是从一个或几个基本表 或视图 通过视图定义语句所描述的映射关系导出的表 数据库中 只有视图的定义 没有视图的数据 这些数据还在基本表中 因此 视图是一种 虚表 36 CG S SC S256 Wang C5 80 查询语句 学生成绩视图CG S SNAME C GRADE 37 CREATEVIEW AS WITHREADONLY WITHCHECKOPTION 新定义的视图的各个列的名称 视图被定义成一个只读视图 不能进行插入 删除和修改操作 表示用户必须保证每当向该视图插入或更新数据时 所插入或更新的数据能从该视图查询出来 二 视图的定义 38 例3 45定义平均成绩视图 S AVG GRADE CREATEVIEWA GRADE S AVG GRADE ASSELECTS AVG GRADE FROMSCWHEREGRADEISNOTNULLGROUPBYS 查询结果中有表达式或聚合函数 必须重新命名 二 视图的定义例 39 三 在视图上进行查询操作 数据查询视图的查询方法和基本表一样 但有了视图后 查询语句变得非常简单 SELECT FROMA GRADE 40 四 用户视图对数据库系统设计和性能带来的影响 1 视图能够简化用户的操作2 视图使用户能以多种角度看待同一数据3 视图对重构数据库提供了一定程度的逻辑独立性4 视图能够对机密数据提供安全保护 41 第5节SQL中带有子查询的数据更新操作 第5章关系数据库语言SQL 主要内容 带有子查询的数据插入操作带有子查询条件的数据更新操作 43 复习数据插入 1 数据插入向表中插入一行 单元组 数据 INSERTINTO VALUES 44 一 带有子查询的数据插入操作 向表中插入一个子查询得到的数据 INSERTINTO 子查询是一个合法的SELECT查询语句 45 例1 设在教学管理数据库系统中 要建立某些临时表来辅助有关管理过程 若其中有一个临时表用于暂存选修了 信息安全技术 课程的学生的学号 姓名 专业名称和班级 表的格式为 S C S SNAME SSNAME CLASS 则将从有关表中查询出的数据组成的记录插入该表的插入语句为 46 例1续 INSERTINTOS C S SNAME SSNAME CLASS SELECTS S SNAME SSNAME CLASSFROMS SSWHERESS SCODE S SCODE ANDS IN SELECTSC S FROMSC CWHERESC C C C ANDCNAME 信息安全技术 47 INSERTINTOS AVG S AVG GRAGE SELECTS AVG GRADE FROMSCWHERES IN SELECTS FROMSWHERESSEX 女 GROUPBYS HAVINGAVG GR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版农业科技推广项目农药产品销售合作协议
- 2025年网络安全风险评估与安全协议完善合同
- 2025年智慧城市建设承包经营合同范本
- 2025版外墙装修工程索赔处理合同
- 2025年度石料贸易代理服务合同规范
- 2025版双方自愿离婚协议书法律效力评估规范
- 2025年度琼台师范学院产学研合作协议
- 2025年劳动合同制员工职业健康安全合同
- 2025年度体育赛事赞助保证合同-体育赛事风险防控保障
- 2025年度办公大楼绿化养护与景观设计服务合同
- 2025年标准货物出口合同范本(中英文版)
- 2025年新钢铁安全员考试题库及答案
- 人教版四年级上册数学各单元教材分析(1-4单元)
- 2025版电子购销合同模板
- 护理中医小讲课课件
- 学校均衡编班管理办法
- 2025年内蒙古自治区中考英语试卷真题 (含答案详解)
- 基因工程的伦理问题主题班会课件
- 实验小学“五大行动”实验校建设方案
- 2025年中煤电力有限公司招聘笔试参考题库含答案解析
- 动词教学课件
评论
0/150
提交评论