书签 分享 收藏 举报 版权申诉 / 53
上传文档赚钱

类型数据查询教学课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5139031
  • 上传时间:2023-02-14
  • 格式:PPT
  • 页数:53
  • 大小:440.54KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据查询教学课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据 查询 教学 课件
    资源描述:

    1、An Introduction to Database System3.4 数据查询 一、概述二、单表查询三、连接查询四、嵌套查询五、集合查询六、小结 An Introduction to Database System一、概述 语句格式SELECT ALL|DISTINCT ,FROM,WHERE GROUP BY HAVING ORDER BY ASC|DESC ;An Introduction to Database System语句格式说明:SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指

    2、定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 An Introduction to Database System3.4 查 询 一、概述二、单表查询三、连接查询四、嵌套查询五、集合查询六、小结 An Introduction to Database System二、单表查询 1.选择表中的若干列2.选择表中的若干元组3.对查询结果排序4.使用集函数5.对查询结果分组 查询仅涉及一个表最简单的查询操作An Introduction to Database Syst

    3、em1、查询指定列例1 查询全体学生的学号与姓名。例2 查询全体学生的姓名、学号、所在系。SELECT Sno,SnameFROM Student;SELECT Sname,Sno,SdeptFROM Student;An Introduction to Database System2、查询全部列SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student;例3 查询全体学生的详细记录。SELECT *FROM Student;或An Introduction to Database System3、查询经过计算的值 SELECT子句的为表达式 算术表达式 字符

    4、串常量 函数 列别名等 An Introduction to Database System查询经过计算的值例4 查询全体学生的姓名及其出生年份。SELECT Sname,2008-SageFROM Student;输出结果:Sname 2008-Sage -李勇 1986 刘晨 1987 王名 1988 张立 1987An Introduction to Database System查询经过计算的值例5 查询全体学生的姓名、出生年份和所在系,要求用小写字母表示所有系名。SELECT Sname,Year of Birth:,2008-Sage,LOWER(Sdept)FROM Studen

    5、t;An Introduction to Database System例题(续)输出结果:Sname Year of Birth:2008-Sage LOWER(Sdept)-李勇 Year of Birth:1986 cs 刘晨 Year of Birth:1987 is 王名 Year of Birth:1988 ma 张立 Year of Birth:1987 is An Introduction to Database System例5.1 使用列别名改变查询结果的列标题输出结果:NAME BIRTH BIRTHDAY DEPARTMENT-李勇 Year of Birth:1986

    6、 cs 刘晨 Year of Birth:1987 is 王名 Year of Birth:1988 ma 张立 Year of Birth:1987 isSELECT Sname NAME,Year of Birth:BIRTH,2008-Sage BIRTHDAY,LOWER(Sdept)DEPARTMENTFROM Student;An Introduction to Database System二、选择表中的若干元组 消除取值重复的行 查询满足条件的元组 An Introduction to Database System1.消除取值重复的行 在SELECT子句中使用DISTINCT

    7、短语假设SC表中有下列数据 Sno Cno Grade -200215121 1 92 200215121 2 85 200215121 3 88 200215122 2 90 200215122 3 80An Introduction to Database SystemALL 与 DISTINCT 例6 查询选修了课程的学生学号。(1)SELECT Sno FROM SC;或(默认 ALL)SELECT ALL Sno FROM SC;结果:Sno -95001 95001 95001 95002 95002 An Introduction to Database System例题(续)(

    8、2)SELECT DISTINCT Sno FROM SC;结果:Sno -95001 95002 注意 DISTINCT短语的作用范围是所有目标列An Introduction to Database System2.查询满足条件的元组表表3.3 常常 用用 的的 查查 询询 条条 件件查查 询询 条条 件件谓谓 词词比比 较较=,=,=,!=,!,!;N OT+上上 述述 比比 较较 运运 算算 符符确确 定定 范范 围围BETW E EN A N D,N O T BETW EEN A N D确确 定定 集集 合合IN,N OT IN字字 符符 匹匹 配配LIKE,N OT LIKE空空

    9、值值IS N U LL,IS N O T N U LL多多 重重 条条 件件A N D,ORWHERE子句常用的查询条件子句常用的查询条件(1)比较大小(2)确定范围(3)确定集合(4)字符串匹配(5)涉及空值的查询(6)多重条件查询An Introduction to Database System(1)比较大小在WHERE子句的中使用比较运算符=,=,=,!=或,!,!,逻辑运算符NOT +比较运算符例8 查询所有年龄在20岁以下的学生姓名及其年龄。SELECT Sname,Sage FROM Student WHERE Sage=20;An Introduction to Databas

    10、e System(2)确定范围 使用谓词 BETWEEN AND NOT BETWEEN AND 例10 查询年龄在2023岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。SELECT Sname,Sdept,SageFROM StudentWHERE Sage BETWEEN 20 AND 23;An Introduction to Database System例题(续)例11 查询年龄不在2023岁之间的学生姓名、系别和年龄。SELECT Sname,Sdept,SageFROM StudentWHERE Sage NOT BETWEEN 20 AND 23;An Introduc

    11、tion to Database System(3)确定集合使用谓词 IN(值表),NOT IN(值表)(值表):用逗号分隔的一组取值例12查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。SELECT Sname,SsexFROM StudentWHERE Sdept IN(IS,MA,CS);An Introduction to Database System(3)确定集合例13查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。SELECT Sname,SsexFROM Student WHERE Sdept NOT IN(IS,MA,CS);An I

    12、ntroduction to Database System(4)字符串匹配 NOT LIKE ESCAPE :指定匹配模板 匹配模板:固定字符串或含通配符的字符串 当匹配模板为固定字符串时,可以用=运算符取代 LIKE 谓词 用!=或 运算符取代 NOT LIKE 谓词查找指定的属性列值与相匹配的元组An Introduction to Database System通配符w%(百分号)代表任意长度(长度可以为0)的字符串 例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab 等都满足该匹配串_(下横线)代表任意单个字符 例:a_b表示以a开头,以b结尾的长度为3的

    13、任意字符串。如acb,afb等都满足该匹配串An Introduction to Database SystemESCAPE 短语:当用户要查询的字符串本身就含有%或 _ 时,要使用ESCAPE 短语对通配符进行转义。An Introduction to Database System例题1)匹配模板为固定字符串 例14 查询学号为95001的学生的详细情况。SELECT*FROM Student WHERE Sno LIKE 95001;等价于:SELECT *FROM Student WHERE Sno=95001;An Introduction to Database System例题(

    14、续)2)匹配模板为含通配符的字符串例15 查询所有姓刘学生的姓名、学号和性别。SELECT Sname,Sno,SsexFROM StudentWHERE Sname LIKE 刘%;An Introduction to Database System例题(续)匹配模板为含通配符的字符串(续)例16 查询姓欧阳且全名为三个汉字的学生的姓名。SELECT Sname FROM Student WHERE Sname LIKE 欧阳_ _;An Introduction to Database System例题(续)匹配模板为含通配符的字符串(续)例17 查询名字中第2个字为阳字的学生的姓名和学号

    15、。SELECT Sname,Sno FROM Student WHERE Sname LIKE _ _阳%;An Introduction to Database System例题(续)匹配模板为含通配符的字符串(续)例18 查询所有不姓刘的学生姓名。SELECT Sname,Sno,Ssex FROM Student WHERE Sname NOT LIKE 刘%;An Introduction to Database System例题(续)3)使用换码字符将通配符转义为普通字符 例19 查询DB_Design课程的课程号和学分。SELECT Cno,Ccredit FROM Course

    16、WHERE Cname LIKE DB_Design ESCAPE An Introduction to Database System例题(续)使用换码字符将通配符转义为普通字符(续)例20 查询以DB_开头,且倒数第3个字符为 i的课程的详细情况。SELECT *FROM Course WHERE Cname LIKE DB_%i_ _ ESCAPE ;An Introduction to Database System(5)涉及空值的查询 使用谓词 IS NULL 或 IS NOT NULL “IS NULL”不能用“=NULL”代替例21 某些学生选修课程后没有参加考试,所以有选课记录

    17、,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。SELECT Sno,Cno FROM SC WHERE Grade IS NULL;An Introduction to Database System例题(续)例22 查询所有有成绩的学生学号和课程号。SELECT Sno,Cno FROM SC WHERE Grade IS NOT NULL;An Introduction to Database System(6)多重条件查询用逻辑运算符AND和 OR来联结多个查询条件 AND的优先级高于OR 可以用括号改变优先级An Introduction to Database Syste

    18、m例题例23 查询计算机系年龄在20岁以下的学生姓名。SELECT Sname FROM Student WHERE Sdept=CS AND Sage=20 AND Sage=23;An Introduction to Database System三、对查询结果排序 使用ORDER BY子句 可以按一个或多个属性列排序 升序:ASC;降序:DESC;缺省值为升序当排序列含空值时ASC:排序列为空值的元组最后显示DESC:排序列为空值的元组最先显示 An Introduction to Database System对查询结果排序(续)例24 查询选修了3号课程的学生的学号及其成绩,查询结果

    19、按分数降序排列。SELECT Sno,Grade FROM SC WHERE Cno=3 ORDER BY Grade DESC;An Introduction to Database System查询结果 Sno Grade -95010 95024 95007 92 95003 82 95010 82 95009 75 95014 61 95002 55An Introduction to Database System对查询结果排序(续)例25 查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。SELECT *FROM StudentORDER BY Sde

    20、pt,Sage DESC;An Introduction to Database System四、使用集函数 5类主要集函数 计数COUNT(DISTINCT|ALL*)COUNT(DISTINCT|ALL)计算总和SUM(DISTINCT|ALL)计算平均值AVG(DISTINCT|ALL)An Introduction to Database System使用集函数(续)求最大值MAX(DISTINCT|ALL)求最小值MIN(DISTINCT|ALL)DISTINCT短语:在计算时要取消指定列中的重复值 ALL短语:不取消重复值 ALL为缺省值An Introduction to Dat

    21、abase System使用集函数(续)例26 查询学生总人数。SELECT COUNT(*)FROM Student;例27 查询选修了课程的学生人数。SELECT COUNT(DISTINCT Sno)FROM SC;注:用DISTINCT以避免重复计算学生人数An Introduction to Database System使用集函数(续)例28 计算1号课程的学生平均成绩。SELECT AVG(Grade)FROM SC WHERE Cno=1;例29 查询选修1号课程的学生最高分数。SELECT MAX(Grade)FROM SC WHER Cno=1;An Introductio

    22、n to Database System五、对查询结果分组 使用GROUP BY子句分组 细化集函数的作用对象 未对查询结果分组,集函数将作用于整个查询结果 对查询结果分组后,集函数将分别作用于每个组 An Introduction to Database System使用GROUP BY子句分组例30 求各个课程号及相应的选课人数。SELECT Cno,COUNT(Sno)FROM SC GROUP BY Cno;结果 Cno COUNT(Sno)1 22 2 34 3 44 4 33 5 48An Introduction to Database System对查询结果分组(续)GROUP

    23、 BY子句的作用对象是查询的中间结果表 分组方法:按指定的一列或多列值分组,值相等的为一组 使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性和集函数 An Introduction to Database System使用HAVING短语筛选最终输出结果例31 查询选修了3门以上课程的学生学号。SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*)3;An Introduction to Database System例题例32 查询有3门以上课程是90分以上的 学生的学号及(90分以上的)课程数 SELECT Sno,COUNT(*)FROM SC WHERE Grade90 GROUP BY Sno HAVING COUNT(*)3;An Introduction to Database System使用HAVING短语筛选最终输出结果 只有满足HAVING短语指定条件的组才输出 HAVING短语与WHERE子句的区别:作用对象不同 WHERE子句作用于基表或视图,从中选择满足条件的元组。HAVING短语作用于组,从中选择满足条件的组。An Introduction to Database System 下课了。休息一会儿。休息一会儿。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据查询教学课件.ppt
    链接地址:https://www.163wenku.com/p-5139031.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库