欢迎来到天天文库
浏览记录
ID:41075487
大小:1.20 MB
页数:25页
时间:2019-08-15
《SQL多表查询操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SQL多表查询操作Computer&ControlInstitute,GuilinUniversityofElectronicTechnology问题如果给你两张A4纸,其中一张上记录的是所有学生的基本信息,一张表记录的是选课信息,脱离SQL的环境,你会如何做来找出满足这样条件的记录:“查找选修了’ZB003’号课程的学生的姓名”。SnoSnameSsexSageSdept09101胡爽男20通信09302梅岚女21计算机09301周丹阳男20计算机09102郑灿灿女19通信SnoCnoGrade093
2、01ZB0038209102ZB0038509101ZB0038009101BT0015509102BT0017009101ZB0029009102ZB0028009101BT004NULLCnoCnameCpnoCcreditBT001计算机网络NULL3ZB002数据结构ZB0034ZB003离散数学NULL4BT004操作系统ZB0023一张表的查询操作给我们的启示如果要查找学号为“09301”的学生的基本信息SELECT*FROMStudentWHERESno=‘09301’SnoSnameSs
3、exSageSdept09101胡爽男20通信09302梅岚女21计算机09301周丹阳男20计算机09102郑灿灿女19通信一张表的查询操作给我们的启示既然我们能够熟练地对一张表进行操作,那么我们可以考虑是否应该将两张表先转换成一张表,再使用基于一张表的操作方法来进行查询?思考问题:如果要将两张表连接成一张表,都有哪些方法?其中哪些方法是高效的?SnoSnameSsexSageSdept09101胡爽男20通信09302梅岚女21计算机09301周丹阳男20计算机09102郑灿灿女19通信SnoCno
4、Grade09301ZB0038209102ZB0038509101ZB0038009101BT0015509102BT0017009101ZB0029009102ZB0028009101BT004NULLStudent.SnoSnameSsexSageSdeptSC.SnoCnoGrade问题:连接以后的表中的数据是什么?如何确定?SnoSnameSsexSageSdept09101胡爽男20通信09302梅岚女21计算机09301周丹阳男20计算机09102郑灿灿女19通信SnoCnoGrade09
5、301ZB0038209102ZB0038509101ZB0038009101BT0015509102BT0017009101ZB0029009102ZB0028009101BT004NULL方案一:基于笛卡尔积的全连接操作全连接以后形成的部分效果Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade09101胡爽男20通信09301ZB0038209101胡爽男20通信09102ZB0038509101胡爽男20通信09101ZB0038009101胡爽男20通信091
6、01BT0015509101胡爽男20通信09102BT0017009101胡爽男20通信09101ZB0029009101胡爽男20通信09102ZB0028009101胡爽男20通信09101BT004NULL……………………显然,上述全连接的结果中存在不合理的记录,应该被剔除,形成如下的查询结果:SELECTSnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDCno=‘ZB003’业务查询条件有效连接条件SnoSnameSsexSageSdept09101胡爽
7、男20通信09302梅岚女21计算机09301周丹阳男20计算机09102郑灿灿女19通信SnoCnoGrade09301ZB0038209102ZB0038509101ZB0038009101BT0015509102BT0017009101ZB0029009102ZB0028009101BT004NULL方案二:基于有效连接的(内、外)连接方案比较Student.Sno=SC.Sno?内连接以后形成的部分效果Student.SnoSnameSsexSageSdeptSC.SnoCnoGrade0910
8、1胡爽男20通信09101ZB0038009101胡爽男20通信09101BT0015509101胡爽男20通信09101ZB0029009101胡爽男20通信09101BT004NULL…………………………………………SnoSnameSsexSageSdept09101胡爽男20通信09302梅岚女21计算机09301周丹阳男20计算机09102郑灿灿女19通信SnoCnoGrade09301ZB0038209102ZB003850910
此文档下载收益归作者所有