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

类型第8章关系数据库的结构化查询语言SQL-多表查询课件.ppt

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

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

    特殊限制:

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

    关 键  词:
    关系 数据库 结构 查询 语言 SQL 课件
    资源描述:

    1、第8章 关系数据库的结构化查询语言SQL -多表连接查询 多表连接查询8.2 UNION合并查询8.3 嵌套查询8.4单表查询8.1一、多表连接查询一、多表连接查询1、传统连接方式、传统连接方式Select 学号,课程名学号,课程名From 选修表选修表,课程表课程表Where 选修表选修表.课程号课程号=课程表课程表.课程号课程号选修表选修表课程表课程表2、SQL的连接方式的连接方式JOIN连接(基本原理)连接(基本原理)JOIN的意义是将的意义是将多个数据表多个数据表的记录的记录横向横向连接起来,连接起来,然后利用然后利用ON来设置条件以过滤不需要的记录。例来设置条件以过滤不需要的记录。例

    2、如:将下面的两个简单的表如:将下面的两个简单的表JOIN的结果为:的结果为:选修表选修表课程表课程表Select 学号,学号,课程名课程名,成绩,成绩 From 课程表课程表 JION 选修表选修表 On 课程表课程表.课程号课程号=选修表选修表.课程号课程号 生成后的表生成后的表在新的在新的SQL标准中规定了专门的连接语句格式标准中规定了专门的连接语句格式:Select From join join 关系关系3ononon Where 注意注意:join的顺序和的顺序和on的顺序是逆着的的顺序是逆着的.2、JOIN的类型:的类型:inner、left、right、full 和和Cross可以

    3、使用可以使用JOIN参数将那些数据表结合在一起,依据不用参数将那些数据表结合在一起,依据不用的查询目的,的查询目的,JOIN的方式可分为多种类型:的方式可分为多种类型:inner JOIN:只显示符合条件的数据行,此为默认的:只显示符合条件的数据行,此为默认的JOIN方式,因此,方式,因此,INNER参数可以省略。参数可以省略。LEFT JOIN:显示符合条件的数据行,以及左边数据:显示符合条件的数据行,以及左边数据表中不符合条件的数据行(此时右边数据行会以表中不符合条件的数据行(此时右边数据行会以NULL来显示)来显示)RIGHT JOIN:显示符合条件的数据行,以及右边数据:显示符合条件的

    4、数据行,以及右边数据表中不符合条件的数据行(此时左边数据行会以表中不符合条件的数据行(此时左边数据行会以NULL来显示)来显示)FULL JOIN:显示符合条件的数据行,以及左边和右边:显示符合条件的数据行,以及左边和右边数据表中不符合条件的数据行(此时缺乏数据的数据行数据表中不符合条件的数据行(此时缺乏数据的数据行会以会以NULL来显示)来显示)CROSS JOIN:此类型会直接将一个数据表的每一条数:此类型会直接将一个数据表的每一条数据行和另一个数据表的每一条数据行搭配成新的数据行,据行和另一个数据表的每一条数据行搭配成新的数据行,不需要用不需要用ON来设置条件来设置条件(表表3就是通过这

    5、种方式由表就是通过这种方式由表1和表和表2产生的产生的)。选修表选修表课程表课程表Select 课程名课程名,学号学号 From 课程表课程表 left JoiN 选修表选修表On 课程课程.课程号课程号=选修选修.课程号课程号 选修表选修表学生表学生表Select 姓名姓名,课程号课程号 From 选修选修right JoiN 学生学生On 选修选修.学号学号=学生学生.学号学号 选修表选修表学生表学生表Select 姓名姓名,课程号课程号 From 选修选修cross JoiN studentOn 选修选修.学号学号=student.学号学号 三、UNION合并UNION可将多个可将多个S

    6、ELECT语句的查询结果合并成一组。语句的查询结果合并成一组。从图中我们能够看出从图中我们能够看出UNION是将多个查询结果做上是将多个查询结果做上下下垂直合并垂直合并,所以字段数不会增加,而,所以字段数不会增加,而JOIN做的是做的是左右水平合并左右水平合并。UNION合并很简单:但必须符合下列条件:合并很简单:但必须符合下列条件:欲合并的查询结果,其欲合并的查询结果,其字段数字段数必须必须相同相同;欲合并的查询结果,其对应的字段一定要具备兼容欲合并的查询结果,其对应的字段一定要具备兼容的的数据类型数据类型,即数据类型可以不同,但两者必须能,即数据类型可以不同,但两者必须能够相互转换够相互转

    7、换合并后的结果:合并后的结果:合并结果的字段名称会以第一个查询结果合并结果的字段名称会以第一个查询结果 字段名称字段名称为名,其他查询结果的字段则会被忽略。为名,其他查询结果的字段则会被忽略。合并时,若对应的字段具备不同的数据类型,则会进合并时,若对应的字段具备不同的数据类型,则会进行兼容性类型转换,转换原则是可容纳较多数据的类行兼容性类型转换,转换原则是可容纳较多数据的类型为主。假设乙列是型为主。假设乙列是CHAR(10)类型,丁列是)类型,丁列是CHAR(20)类型,则合并后的乙列是)类型,则合并后的乙列是CHAR(20)类型。类型。例如有2个数据表分别从员工及客户这两个数据表中查询员工及

    8、客户分别从员工及客户这两个数据表中查询员工及客户的姓名和地址,然后将这两个查询结果合并成一分的姓名和地址,然后将这两个查询结果合并成一分 Select 姓名 as 邀请名单,地址 From 员工 UNION Select 联络人,地址 From 客户 Order by 姓名GROUP BY 和和HAVING子句只能用在个别子句只能用在个别Select_statemen中,不可用在整个语句的最后。中,不可用在整个语句的最后。ORDER BY 及子句则只能用在整个语句及子句则只能用在整个语句的最后的最后,针对最后的合并结果做排序或计算,不能针对最后的合并结果做排序或计算,不能用在个别用在个别Sel

    9、ect_statemen中。中。ALL:如果设置:如果设置ALL参数,最后的合并结果会将重参数,最后的合并结果会将重复的记录都显示出来。如果不设置复的记录都显示出来。如果不设置ALL参数,则在参数,则在合并中,重复的记录将只会显示一笔。合并中,重复的记录将只会显示一笔。UNION的语法:的语法:Select_statemen UNIONselect_statemen UNION select_statemen order by四、嵌套查询四、嵌套查询-子查询子查询子查询是指包含在主要查询中的另一个子查询是指包含在主要查询中的另一个SELECT查查询。通常会利用子查询先挑选出部分数据,以作为询。

    10、通常会利用子查询先挑选出部分数据,以作为主要查询的数据来源或选取条件子查询的语法与范主要查询的数据来源或选取条件子查询的语法与范例子查询的语法和例子查询的语法和select语句一样,但有下列限语句一样,但有下列限制:制:整个子查询语句需用小括号括住整个子查询语句需用小括号括住select 姓名姓名 from 学生表学生表where 学号学号 in(select 学号学号 from 选修选修 where 课程号课程号=ww01)查询选修了查询选修了课程号课程号是是ww01课程的学生课程的学生姓名姓名子查询的类型与处理方式:子查询的类型与处理方式:子查询的返回结果可分三种类型,单一值,单列子查询的

    11、返回结果可分三种类型,单一值,单列多行数据和不限列数的多条数据,而用来处理子查多行数据和不限列数的多条数据,而用来处理子查询的返回结果的方法也分询的返回结果的方法也分3种:种:方法一:直接取值:直接使用子查询的返回值,例方法一:直接取值:直接使用子查询的返回值,例如如=、做比较或进行其他运算。、做比较或进行其他运算。方法二:比较清单:使用方法二:比较清单:使用in、all运算符判断某个值运算符判断某个值是是否存在于返回清单中否存在于返回清单中.方法三:测试存在,使用方法三:测试存在,使用exists运算符判断是否返运算符判断是否返回回数据。数据。select 学号学号 from 选修表选修表w

    12、here 成绩成绩=(select max(成绩成绩)from 选修表选修表where 课程号课程号=ww01)查询查询WW01课程课程的最高分学生的学的最高分学生的学号号select 学号学号 from 选修表选修表where 成绩成绩=all(select 成绩成绩 from 选修选修表表where 课程号课程号=ww01)select 学号学号 from 选修表选修表where 成绩成绩=(select min(成绩成绩)from 选修表选修表where 课程号课程号=ww01)查询查询WW01课程课程的最低分学生的学的最低分学生的学号号select 学号学号 from 选修表选修表where 成绩成绩any(select 成绩成绩 from 选修选修表表where 课程号课程号=ww01)供应表供应表职工表职工表仓库表仓库表 订购单表订购单表 例例1、查询所有职工的工资都多于、查询所有职工的工资都多于1210元的仓库信息。元的仓库信息。例例2、查询供应商为华通电子的订单单号。、查询供应商为华通电子的订单单号。例例3、检索有职工的工资大于或等于、检索有职工的工资大于或等于WH1仓库中所有职仓库中所有职工的工资的仓库号。工的工资的仓库号。例例4、检索哪些仓库中至少已经有一个职工的仓库的信息。、检索哪些仓库中至少已经有一个职工的仓库的信息。

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

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


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


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

    163文库