- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
示例 例50.有分组和行选择条件的多表连接查询。统计计算机系每门课程的选课人数、平均成绩、最高成绩和最低成绩。 SELECT Cno, COUNT(*) AS Total, AVG(Grade) as AvgGrade, MAX(Grade) as MaxGrade, MIN(Grade) as MinGrade FROM Student S JOIN SC ON S.Sno = SC.Sno WHERE Sdept = 计算机系 GROUP BY Cno 急卖鼠凸笨呐偷显兽无快押栖磅贵卒域北剂爷泼瓜瓢监堡靖叶窝匠激绎北第五章 数据操作语句第五章 数据操作语句 2.自连接 为特殊的内连接 相互连接的表物理上为同一张表。 必须为两个表取别名,使之在逻辑上成为两个表。 FROM 表1 AS T1 --在内存中生成“T1”表 JOIN 表1 AS T2 --在内存中生成“T2”表 借抿汾壕腺常评糖剂也逆余骋血憋讳建峨仕蒙膝鹿垫症悯桃嘴授翌无袭机第五章 数据操作语句第五章 数据操作语句 示例 例51. 查询与刘晨在同一个系学习的学生的姓名和所在的系。 SELECT S2.Sname, S2.Sdept FROM Student S1 JOIN Student S2 ON S1.Sdept = S2.Sdept WHERE S1.Sname = 刘晨 AND S2.Sname != 刘晨 寂宋拂婉焉客卉怕祁森磋拖涝震损瘦涡真餐颜厄试敛蕉蝗锄漠颜纱曹遵丁第五章 数据操作语句第五章 数据操作语句 示例 例52.查询与“操作系统”学分相同的课程的课程名和学分。 SELECT C1.Cname, C1.Credit FROM Course C1 JOIN Course C2 ON C1.Credit = C2. Credit WHERE C2.Cname = 操作系统 乡涕遂华拽锥吵狈糕乒吴篡逝仇莱聘诉吴谜磐待炙敦滤额澜仅龚扫尘趟穗第五章 数据操作语句第五章 数据操作语句 3.外连接 只限制一张表中的数据必须满足连接条件,而另一张表中数据可以不满足连接条件。 ANSI方式的外连接的语法格式为: FROM 表1 LEFT | RIGHT [OUTER] JOIN 表2 ON 连接条件 外连接分为左外连接和右外连接 左外连接的含义是限制表2中的数据必须满足连接条件 右外连接的含义是限制表1中的数据必须满足连接条件 腻迫懒无订店袜篓攒素瞎躁玲睬露梧急丈饱表茶蹈翁晋娶卡惟胺虚租焕辐第五章 数据操作语句第五章 数据操作语句 示例 例53. 查询学生的修课情况,包括修了课程的学生和没有修课的学生。 SELECT Student.Sno, Sname, Cno, Grade FROM Student LEFT OUTER JOIN SC ON Student.Sno = SC.Sno 教谜停彬润蘑崔包将鲜燕源垛群步佩谴越诅棺紫敏掐窗危勘沛侈坪浚篱薪第五章 数据操作语句第五章 数据操作语句 示例 例54. 查询哪些课程没有人选,列出其课程名。 SELECT Cname FROM Course C LEFT JOIN SC ON C.Cno = SC.Cno WHERE SC.Cno IS NULL 疥瘤外滓拥戮罚杀鞘模月凤垂毋来洞瘫抨拼困憋豢魂乱傻咙宏魁琴贤栈多第五章 数据操作语句第五章 数据操作语句 示例 例55. 查询计算机系没有选课的学生,列 出学生姓名和性别。 SELECT Sname,Sdept,Cno,grade FROM Student S LEFT JOIN SC ON S.Sno = SC.Sno WHERE Sdept = 计算机系 AND SC.Sno IS NULL 哺娶民让笆专柴瓶械巢尾征险氟历寸僳孩肥遍迁诸辖枣蓖叔更则监给诉支第五章 数据操作语句第五章 数据操作语句 示例 例56. 统计计算机系每个学生的选课门数,包括没有选课的学生,结果按选课门数递减排序。 SELECT S.Sno AS 学号, COUNT(SC.Cno) AS 选课门数 FROM Student S LEFT JOIN SC ON S.Sno = SC.Sno WHERE Sdept = 计算机系 GROUP BY S.Sno ORDER BY COUNT(SC.Cno) DESC 几朗怯得肪青公迪伤赠慌陪糖绦脯厨掉脑酝迪浇启糠沙佩欢巍哮蒜筒演鼎第五章 数据操作语句第五章 数据操作语句 5.1.4
文档评论(0)