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

类型SQL的数据查询PPT课件.pptx

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

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

    特殊限制:

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

    关 键  词:
    SQL 数据 查询 PPT 课件
    资源描述:

    1、SQL的数据查询天津师范大学刘洋一个问题n2006年6月,举世瞩目的第18届世界杯在德国举行,某网站为了方便球迷查询,在自己的网站上设立了世界杯信息查询系统。该系统的一部分要求为:一名球员可以参加多场比赛,每场比赛有多名球员参加。 概念模型 n请你为该系统的这一部分设计一个ER模型,画出ER图。要求:“球员”的属性有:姓名,代表国,号码,年龄,位置“比赛”的属性有:比赛编号,比赛甲方,比赛乙方,比赛类型在联系中反映出球员参加比赛的出场时间,进球数 概念模型ER图球员姓名代表国号码年龄位置比赛编号甲方乙方类型进球数出场时间参加mn概念模型关系数据模型球员关系player(nation,numbe

    2、r,name,age,position)主码: (nation,number)概念模型关系数据模型想一想,如果只是number作为主码可以吗?概念模型关系数据模型不可以,因为不同国家队中有相同的号码概念模型关系数据模型比赛关系match(matchid,match_a,match_b,matchtype)主码: matchid概念模型关系数据模型player(nation,number,name,age,position)match(matchid,match_a,match_b,matchtype)matchidnation,numberjoin( , , )time,goalPlayerP

    3、layer的主码的主码matchmatch的主码的主码JoinJoin自己的属自己的属性性SQL语言功能动词数据查询数据定义数据更新数据控制SELECTCREATE,DROP,ALTERINSERT,UPDATE,DELETEGRANT,REVOKECREATE使用SQL语言创建基本表player(nation,number,name,age,position)Create table player -球员表 name char(20), -姓名 nation char(20), -代表国 number int -号码 age int, -年龄 position char(10) -位置 定义

    4、主码check (number between 1 to 23 ) , check (position in (守门员,后卫,中场,前锋 ), primary key (nation,number),使用SQL语言创建基本表match(matchid,match_a,match_b,matchtype)Create table match -比赛表 matchid int primary key, -比赛编号(主码) match_a char(20), -比赛甲方 match_b char(20), -比赛乙方 matchtype char(10) check (matchtype in (小

    5、组赛,淘汰赛 ) 比赛类型 使用SQL语言创建基本表Create table join -参加表 nation char(20), -代表国 number int , -号码 matchid int, -比赛编号 time int, -出场时间 goal int -进球数 primary key (nation,number,matchtype) 定义主码 定义外码 定义外码 join(nation,number,matchid,time,goal)foreign key (nation,number) reference player (nation,number)foreign key (

    6、matchid) reference match (matchid)SQL语言功能动词数据查询数据定义数据更新数据控制SELECTCREATE,DROP,ALTERINSERT,UPDATE,DELETEGRANT,REVOKESELECTSelect语句的基本句法select-From-Where句型 A1, An (F(R1 Rm))From R1, , Rm Where FSelect A1, , An这里R1、Rn为关系,F是公式,A1、An为属性。R1 RmF A1, An 使用SQL语言查询世界杯数据库中有三个基本表(关系):player(nation,number, name,p

    7、osition)nationnationnumbernumbernamenamepositionposition德国 13 巴拉克 中场法国 12 亨利 前锋德国 1 莱曼 守门员巴西 6 卡洛斯 后卫使用SQL语言查询match(matchid,match_a,match_b)matchidmatch_a match_b A1 德国 哥斯达黎加 A3 德国 波兰 G2 法国 瑞士 F2 巴西 克罗地亚使用SQL语言查询join(nation,number,matchid ,goal)nationnumber matchid goal 德国 13 A1 1 德国 13 A3 1 德国 1 A1

    8、 0 法国 12 G2 3 巴西 6 F2 0 德国 1 A3 0使用SQL语言查询1、检索参加比赛场次为A1的球员的代表队以及身披号码nationnationnumbernumbermatchid matchid 德国 13 A1 德国 13 A3 德国 1 A1 德国 1 A3 法国 12 G2 巴西 6 F2 nationnationnumbernumbermatchid matchid 德国 13 A1 德国 1 A1 使用SQL语言查询From joinWhere matchid=A1Select nation,number从表SC选择条件投影到相应列上1、检索参加比赛场次为A1的球

    9、员的代表队以及身披号码德国 1 A3 德国 13 A3 使用SQL语言查询nationnationnumbernumbermatchid matchid 德国 13 A1 德国 13 A3 德国 1 A1 德国 1 A3 法国 12 G2 巴西 6 F2 nationnationnumbernumbermatchid matchid 德国 13 A1 德国 1 A1 2、检索参加比赛场次为A1或A3的球员的代表队以及身披号码使用SQL语言查询From joinWhere matchid=A1Select Distinct nation,number从表SC选择条件投影到相应列上Or match

    10、id=A3去除重复元组。2、检索参加比赛场次为A1或A3的球员的代表队以及身披号码使用SQL语言查询From joinWhere matchid=A1Select Distinct nation,numberAnd matchid=A33、检索参加比赛场次为A1或A3的球员的代表队以及身披号码想一想,这样做对吗?使用SQL语言查询nationnumber matchid goal 德国 13 A1 1 德国 13 A3 1 德国 1 A1 0 法国 12 G2 3 巴西 6 F2 0 德国 1 A3 0有某一数据项既是A1又是A3的吗?使用SQL语言查询nationmatchid德国 A1 X

    11、nationmatchid 德国 A1 Y使用SQL语言查询X.nationX.number X.matchid Y.nationY.number Y.matchid德国13 A1 德国 13 A3德国 1 A1 德国1 A3笛卡儿积连接后的结果使用SQL语言查询From join AS X , join AS YWhereX.nation=Y.nation And X.number=Y.numberSelect X.nation,X.numberAnd X.matchid=A1And Y.matchid=A3指明是哪张表的nation,number。3、检索参加比赛场次为A1或A3的球员的代

    12、表队以及身披号码一张表使用多次时,必须要给它命名成不同的名字。使用SQL语言查询nationnumber matchid 德国13 A1 nationnumber name德国13 巴拉克4、检索参加比赛场次为A1的球员的代表队以及身披号码和姓名nationnumber nationnumber 使用SQL语言查询nationnumbernamepositionmatchid goal 德国 13 巴拉克 中场 A1 1自然连接后的结果 德国 13 巴拉克 中场 A1 1 德国 13 巴拉克 中场 A3 1 德国 1 莱曼 守门员 A1 0 德国 1 莱曼 守门员 A1 0 德国 1 莱曼 守

    13、门员 A3 0 法国 12 亨利 前锋 G2 3 巴西 6 卡洛斯 后卫 F2 0使用SQL语言查询 德国 13 巴拉克 中场 A1 1 德国 1 莱曼 守门员 A1 0nationnumbernamepositionmatchid goal使用SQL语言查询连接查询From player,joinWhereplayer.nation=join.nation And player.number=join.numberSelect player.nation,player.number,name表player与表join连接选择条件投影到相应列上And matchid=A1自然连接4、检索参加比

    14、赛场次为A1的球员的代表队以及身披号码和姓名使用SQL语言查询4、检索参加比赛场次为A1的球员的代表队、身披号码和姓名nationnationnumbernumbermatchid matchid 德国 13 A1 德国 13 A3 德国 1 A1 德国 1 A3 法国 12 G2 巴西 6 F2 nationnationnumbernumbermatchid matchid 德国 13 A1 德国 1 A1 使用SQL语言查询语句为:From joinWhere matchid=A1Select nation,number查询结果为:Nation number德国13德国使用SQL语言查询n

    15、ationnationnumbernumbernamenamepositionposition德国 13 巴拉克 中场法国 12 亨利 前锋德国 1 莱曼 守门员巴西 6 卡洛斯 后卫德国 13 巴拉克 中场德国 1 莱曼 守门员使用SQL语言查询语句为:From playerWhere (nation,number) INSelect nation,number,name(德国,13),(德国,1)From joinWhere matchid=A1)(Select nation,number父查询子查询使用SQL语言查询答案2:嵌套查询From playerWhere(nation,numb

    16、er)INSelect nation,number,name从表player选择条件投影到相应列上From joinWhere matchid=A1)(Select nation,number首先在join关系中找出 相应的国家队名称和号码不相关子查询使用SQL语言查询4、检索参加比赛场次为A1的球员的代表队、身披号码和姓名nationnationnumbernumber name name 德国 13巴拉克 法国12 亨利 德国 1 莱曼 巴西 6卡洛斯 德国 13巴拉克 德国 1 莱曼 nationnationnumbernumbermatchid matchid 德国 13 A1 德国

    17、13 A3 德国 1 A1 德国 1 A3 法国 12 G2 巴西 6 F2 法国12 亨利 巴西 6卡洛斯 使用SQL语言查询答案3:嵌套查询From playerWhereA1INSelect nation,number,name从表player选择条件投影到相应列上From joinWhere nation=player.nation number=player.number)(Select matchid看“A1”是否在当前检查球员参加的比赛相关子查询4、检索参加比赛场次为A1的球员的代表队、身披号码和姓名使用SQL语言查询4、检索参加比赛场次为A1的球员的代表队、身披号码和姓名nat

    18、ionnationnumbernumber name name 德国 13巴拉克 法国12 亨利 德国 1 莱曼 巴西 6卡洛斯 德国 13巴拉克 德国 1 莱曼 nationnationnumbernumbermatchid matchid 德国 13 A1 德国 13 A3 德国 1 A1 德国 1 A3 法国 12 G2 巴西 6 F2 法国12 亨利 巴西 6卡洛斯 使用SQL语言查询From playerWhereEXISTSSelect nation,number,name从表player选择条件投影到相应列上From SCWhere join.nation=player.nationjoin.number=player.number(Select *看是否存在当前检查球员参加了“A1”比赛的记录And matchid=A1)答案:使用存在量词的嵌套查询相关子查询4、检索参加比赛场次为A1的球员的代表队、身披号码和姓名使用SQL语言查询想一想,这样做对吗?5、检索不参加比赛场次为A1的球员的代表队、身披号码From player,joinWhereplayer.nation=join.nation And player.number=join.numberSelect player.nation,player.numberAnd matchidA1谢谢

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

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


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


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

    163文库