欢迎来到天天文库
浏览记录
ID:56373736
大小:265.00 KB
页数:122页
时间:2020-06-14
《数据库032关系数据库标准语言SQL.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、数据库系统概论AnIntroductiontoDatabaseSystem第三章关系数据库标准语言SQL(续1)AnIntroductiontoDatabaseSystem3.3查询3.3.1概述3.3.2单表查询3.3.3连接查询3.3.4嵌套查询3.3.5集合查询3.3.6小结AnIntroductiontoDatabaseSystem3.3.3连接查询查询结果或条件涉及多个表的查询称为连接查询SQL中连接查询的主要类型广义笛卡尔积等值连接(含自然连接)自身连接查询外连接查询AnIntroductiontoDatabaseSystem一、广义笛卡尔积不带连接谓词的连接很少使用例:SELEC
2、T*FROMStudent,SCAnIntroductiontoDatabaseSystem二、等值与非等值连接查询[例32]查询每个学生及其选修课程的情况。用WHERE子句指定连接条件:SELECT*FROMStudent,SCWHEREStudent.Sno=SC.Sno;AnIntroductiontoDatabaseSystem等值连接结果表Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade95001李勇男20CS9500119295001李勇男20CS9500128595001李勇男20CS9500138895002刘晨女19IS950022909
3、5002刘晨女19IS95002380AnIntroductiontoDatabaseSystem二、等值与非等值连接查询[例32]查询每个学生及其选修课程的情况。用WHERE子句指定连接条件:SELECT*FROMStudent,SCWHEREStudent.Sno=SC.Sno;或,用FROM子句指定连接条件:SELECT*FROMStudentJOINSCONStudent.Sno=SC.Sno;不建议用JOIN方式AnIntroductiontoDatabaseSystem等值连接前例是一种等值连接等值连接:连接运算符为=的连接操作SELECT*FROMStudent,SCWHERES
4、tudent.Sno=SC.Sno;引用两表中同名属性时,必须加表名前缀区分。AnIntroductiontoDatabaseSystem自然连接将等值连接的目标列中重复的属性列去掉,就是自然连接。[例33]对[例32]用自然连接完成。SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno;AnIntroductiontoDatabaseSystem带有选择条件的连接查询[例补充]查询选1号课的学生号,学生名,成绩SELECTStudent.Sno,Sname,GradeFRO
5、MStudent,SCWHEREStudent.Sno=SC.SnoANDCno=1;连接条件选择条件AnIntroductiontoDatabaseSystem带有选择条件的连接查询[例补充]查询选1号课的学生号,学生名,成绩SELECTStudent.Sno,Sname,GradeFROMStudent,SCWHEREStudent.Sno=SC.SnoANDCno=1;或:SELECTStudent.Sno,Sname,GradeFROMStudentJOINSCONStudent.Sno=SC.Sno;WHERECno=1;AnIntroductiontoDatabaseSystem[
6、例35]查询选修2号课程且成绩在90分以上的所有学生的学号、姓名SELECTStudent.Sno,Student.SnameFROMStudent,SCWHEREStudent.Sno=SC.Sno/*连接条件*/ANDCno=2/*选择条件*/ANDGrade>90;/*选择条件*/带有选择条件的连接查询AnIntroductiontoDatabaseSystem(当查询条件和结果来自两个关系时,用连接)1查询CS系的学号,姓名,课号,成绩2查询成绩大于95的姓名3查询选1号课成绩不及格的姓名4查询李勇选修的课号,成绩5查询95001选修的课号,课名6查询数据库原理课的学号,成绩练一练:A
7、nIntroductiontoDatabaseSystem三、自身连接一个表与其自己进行连接,称为表的自身连接AnIntroductiontoDatabaseSystem[例34]查询每一门课的先行课名FirstSecondAnIntroductiontoDatabaseSystem自身连接(续)[例34]查询每一门课的先行课名SELECTFirst.Cname课名,Second.Cname先行课
此文档下载收益归作者所有