《第08讲(2)_连接查询.ppt》由会员分享,可在线阅读,更多相关《第08讲(2)_连接查询.ppt(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八讲第八讲连接查询连接查询v当查询涉及多个表时通常会使用当查询涉及多个表时通常会使用连接查询;连接查询;vWhere子子句句中中用用来来连连接接两两个个表表的的条条件件称称为为连连接接条条件件或或连连接谓词;接谓词;v一般格式:一般格式:.比较运算符:比较运算符:=、=、=、!=3.4.2连接查询连接查询连接字段连接字段SnoSnameSsexSageSdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19ISStudent学学 号号课课 程程 号号成成 绩绩SnoCnoGrade950011929500128595001
2、3889500229095002380SC例例35查询每个学生及其选修课程的情况查询每个学生及其选修课程的情况:假设假设Student表、表、SC表分别有下列数据:表分别有下列数据:结果表结果表:Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade95001李勇李勇男男20CS9500119295001李勇李勇男男20CS9500128595001李勇李勇男男20 CS9500138895002刘晨刘晨女女19IS9500229095002刘晨刘晨女女19IS95002380思考:连接操作的执行过程。思考:连接操作的执行过程。SQL中连接查询的主要类型中连接查
3、询的主要类型l 广义笛卡尔积广义笛卡尔积l 等值连接等值连接(含自然连接含自然连接)、非等值连接查询、非等值连接查询l 自身连接查询自身连接查询l 外连接查询外连接查询l 复合条件连接查询复合条件连接查询一、广义笛卡尔积一、广义笛卡尔积l不带连接谓词的连接不带连接谓词的连接l很少使用很少使用例:例:SELECTStudent.*,SC.*FROMStudent,SC二、自然连接二、自然连接l等等值值连连接接的的一一种种特特殊殊情情况况,把把目目标标列列中中重重复复的的属属性性列去掉。列去掉。例例36对对例例35用自然连接完成用自然连接完成:查询每个学生及查询每个学生及其选修课程的情况其选修课程
4、的情况.SnoSnameSsexSageSdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19ISStudent学学 号号课课 程程 号号成成 绩绩SnoCnoGrade9500119295001285950013889500229095002380SC三、自身连接三、自身连接 l一个表与其自己进行连接,称为表的一个表与其自己进行连接,称为表的自身连接自身连接l需要需要给表起别名给表起别名以示区别以示区别l由于所有属性名都是同名属性,因此必须使用别名前缀由于所有属性名都是同名属性,因此必须使用别名前缀例例37 查询每一门课
5、的间接先修课(即先修课的先修课)查询每一门课的间接先修课(即先修课的先修课)CnoCnameCpnoCcredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL64课程号课程号课程名课程名先行课先行课学分学分FIRSTCnoCnameCpnoCcredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL64课程号课程号课程名课程名先行课先行课学分学分SECOND请写出查询语句及请写出查询语句及查询结果:查询结果:cnocpno 1
6、73556四、外连接(四、外连接(OuterJoin)l外连接与普通连接的区别外连接与普通连接的区别l普通连接操作只输出满足连接条件的元组普通连接操作只输出满足连接条件的元组l外连接操作以指定表为连接主体,将主体表中外连接操作以指定表为连接主体,将主体表中不满足连接条件的元组一并输出不满足连接条件的元组一并输出例例38查查询询每每个个学学生生及及其其选选修修课课程程的的情情况况包包括括没没有选修课程的学生有选修课程的学生-用外连接操作用外连接操作SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent
7、.Sno*=SC.SnoStudent.SnoSnameSsexSageSdeptCnoGrade95001李勇李勇男男20CS19295001李勇李勇男男20CS28595001李勇李勇男男20CS38895002刘晨刘晨女女19IS29095002刘晨刘晨女女19IS38095003王敏王敏女女18MA95004张立张立男男19IS查询结果:查询结果:注:不同的注:不同的DBMSDBMS产品,外连接的语法会略有不同,具体使用时需查阅帮助手册。产品,外连接的语法会略有不同,具体使用时需查阅帮助手册。五、复合条件连接五、复合条件连接vWHERE子子句句中中含含多多个个连连接接条条件件时时,称称
8、为为复复合合条条件件连接。连接。例例39查询选修了查询选修了2号课且成绩在号课且成绩在90分以上的所有学分以上的所有学生的学号、姓名。生的学号、姓名。例例40查查询询每每个个学学生生的的学学号号、姓姓名名、选选修修的的课课程程名名及成绩。及成绩。v 查询所有查询所有比刘伟工资高比刘伟工资高的教师姓名、工资和刘的教师姓名、工资和刘伟的工资。伟的工资。Teacher(tno,tname,tsex,tage,tsal,tprof)练习练习1 1:练习练习2 2:n图书馆图书馆DBperson(pno,pname,dept)book(bno,bname,class,author,pub,price)l
9、oan(pno,bno,btime,rtime)1)查找)查找张平张平借过的所有图书的书名及作者名;借过的所有图书的书名及作者名;2)分别统计)分别统计CSMAIS三个系借书的次数,三个系借书的次数,并按降序排序;并按降序排序;练习练习3:nsalesperson(sname,age,salary)norders(cname,sname,amount)ncustormer(cname,city,type)1)显示所有和)显示所有和Aber Construction有订单的销售人员名有订单的销售人员名字和年龄,按年龄递减排序;字和年龄,按年龄递减排序;2)显示和两个以上的顾客有订单的销售人员的名字)显示和两个以上的顾客有订单的销售人员的名字;3)显示同城市)显示同城市MEMPHIS的顾客签过订单的销售人员的顾客签过订单的销售人员的年龄;的年龄;