欢迎来到天天文库
浏览记录
ID:39994579
大小:1.14 MB
页数:111页
时间:2019-07-16
《windowsserver数据库课件--第03章sql语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库系统概论AnIntroductiontoDatabaseSystem第三章关系数据库标准语言SQL(4)复习1.统计每人不及格的门数2.查询显示开设课程的名称、及格人数及最高分3.查询显示所有计算机系学生的姓名,以及他们所选课程和相应的成绩。复习单表查询SELECTSno,count(cno)FROMSCWHEREgrade<60groupbysno1.统计每人不及格的门数复习单表查询SELECTcno课程号,Count(sno)及格人数,Max(grade)最高分FROMSC,CourseWHERESC.cno=Cour
2、se.cnoandgrade>=60groupbycno2.查询显示开设课程的名称、及格人数及最高分3.显示全部计算机系学生的姓名,以及他们所选课程名和相应的成绩。复习连接查询SELECTFROMWHEREsname,cname,gradestudent,sc,coursesc.cno=course.cnoandstudent.sno=sc.snoandsdept=’CS’复习连接查询SELECT*FROMStudent,SC4.描述下列语句的含义。WHEREStudent.Sno=SC.Sno;Student.Sno,Snam
3、e,Ssex,Sage,Sdept,Cno,GradeSELECTC1.Cno,C2.CpnoFROMCourseC1,CourseC2WHEREC1.Cpno=C2.Cno;学习目标了解外连接以及查询实现掌握不相关子查询(IN、比较运算符、ANY、ALL)掌握相关子查询(Exists谓词)3.4查询3.4.1单表查询3.4.2连接查询3.4.3嵌套查询3.4.4集合查询广义笛卡尔积查询等值连接(含自然连接)查询非等值连接查询自身连接查询外连接查询复合条件连接查询。SQL中连接查询的主要类型4.外连接(1)外连接与普通连接的区别
4、普通连接操作只输出满足连接条件的元组外连接操作以指定表为连接主体,将主体表中的全部记录输出显示【例】将每个学生的基本信息与其所选课程信息对应显示。结果:Student.SnoSnameSsexSageSdeptCnoGrade0215121李勇男20CS1920215121李勇男20CS2850215121李勇男20CS3880215122刘晨女19IS2900215122刘晨女19IS3800215123王敏女18MA0215125张立男19IS示例:外连接SELECT<列名>[,<列名>]…FROM<表名1>[连接类型]JO
5、IN<表名2>[JOIN<表名3>…][[ON…][ON<连接条件2>]]ON<连接条件1>WHERE<查询条件>①[INNER]②LEFT③RIGHT④FULL⑤CROSS提示:①JOIN的顺序和ON连接条件的顺序相反。②外连接只能对两个表进行(2)语法格式4.外连接0215121021512502151230215122Sno李勇张立王敏刘晨Sname男男女女Ssex20181819SageCSISMAISSdeptSnoCnoGrade02151211920215121285021512628802151222900215
6、122380StudentScSELECTstudent.*,sc.*FROMstudentLEFTJOINscONstudent.sno=sc.snoRIGHTFULL例:查询所有学生的个人信息及选课信息。4.外连接4.外连接SELECTsname,gradeFROMstudentJOINscJOINcourseONsc.cno=course.cnoONstudent.sno=sc.snoWHEREcname=‘数学’[例]查询选修“数学”课程的学生的姓名和该课程成绩。查询显示全部计算机系学生的姓名,以及他们所选课程的门数。练
7、习SELECTsname,count(cno)课程门数FROMstudentleftjoinscONstudent.sno=sc.snoWHEREsdept=’CS’GROUPBYSname特点:WHERE子句中含多个条件。[例35]查询选修2号课程且成绩在90分以上所有学生的学号、姓名。SELECTStudent.Sno,student.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno='2'ANDSC.Grade>90;5.复合条件连接特点:连接操作在两个以上的表之间进行
8、[例36]查询每个学生的学号、姓名、选修的课程名及成绩.SELECTStudent.Sno,Sname,Cname,GradeFROMStudent,SC,CourseWHEREStudent.Sno=SC.SnoandSC.Cno=Course.Cno;6.多
此文档下载收益归作者所有