网站大量收购独家精品文档,联系QQ:2885784924

《数据库原理及应用教程-MySQL8.0》课件 第6章 数据库查询.ppt

《数据库原理及应用教程-MySQL8.0》课件 第6章 数据库查询.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

6.7.3DELETE语句中使用SELECT子句【例6-49】将2022级软件工程专业郭小伟选修的C001号课删除。DELETEFROMscWHEREcno=C001ANDsno=(SELECTsnoFROMstudentWHEREsname=郭小伟ANDgrade=2022级ANDmajor=软件工程);6.4.1内连接内连接把两个表中的数据连接生成第三个表,第三个表中仅包含那些满足连接条件的数据行。内连接的语法:SELECTselect_listFROMtable1INNERJOINtable2ONjoin_condition或SELECTselect_listFROMtable1,table2WHEREjoin_condition连接条件格式为:[table1.]column1compareoperator[table2.]column26.4.1内连接【例6-22】查询每个学生的姓名、课程号和成绩。USEteaching;SELECTstudent.sname,sc.cno,sc.scoreFROMstudentINNERJOINscONstudent.sno=sc.sno;也可以利用下面的程序来实现:SELECTstudent.sname,sc.cno,sc.scoreFROMstudent,scWHEREstudent.sno=sc.sno;注意:当从多个表中查询的列名相同时,列名前必须加表名;列名不同时,列名前可以不加表名,但有时也会加上表名,以增强可读性。6.4.1内连接【例6-23】查询计算机科学与技术专业的学生所选的每门课的平均分。USEteaching;SELECTb.cno,avg(b.score)as平均成绩FROMstudentaINNERJOINscbONa.sno=b.snoanda.major=计算机科学与技术GROUPBYb.cno;为了简化输入,可以在SELECT查询的FROM子句中为表定义一个临时别名,在查询中引用,以缩写表名。6.4.1内连接【例6-24】查询成绩在75分以上的学生的学号、姓名,选修课的课程号、课程名、成绩。USEteaching;SELECTc.cno,c.cname,a.sno,a.sname,b.scoreFROMstudentASaJOINscASbONa.sno=b.snoANDb.score75JOINcourseASconb.cno=c.cno;6.4.2自连接连接操作不仅可以在不同的表上进行,而且在同一张表内可以进行自身连接,即将同一个表的不同行连接起来。自连接可以看作一张表的两个副本之间的连接。必须为表指定两个别名,使之在逻辑上成为两张表。【例6-25】查询同名学生的信息。USEteaching;SELECT*FROMstudentaINNERJOINstudentbONa.sname=b.snameANDa.snob.sno;6.4.3外连接外连接一般只限制其中一个表的数据行,而不限制另外一个表中的数据。这种连接形式在许多情况下是非常有用的,例如在连锁超市统计报表时,不仅要统计那些有销售量的超市和商品,而且还要统计那些没有销售量的超市和商品。在MySQL系统中,可以使用的两种外连接关键字,即LEFTOUTERJOIN和RIGHTOUTERJOIN。①左外连接是对连接条件中左边的表不加限制。②右外连接是对连接条件中右边的表不加限制。6.4.3外连接【例6-26】查询每个学生及其选修课程的成绩情况(含未选课的学生信息)。USEteaching;SELECTstudent.*,sc.cno,sc.scoreFROMstudentLEFTJOINscONstudent.sno=sc.sno;【例6-27】查询学生选修课程的情况(含未被选修的课程信息)。USEteaching;SELECTsc.sno,sc.score,course.*FROMscRIGHTJOINcourseONsc.cno=course.cno;如果想查询成绩最高的学生的学号和姓名。SELECTstudent.sno,sname,scoreFROMstudent,scWHEREscore=MAX(score)Ands

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档