数据库技术及应用教程6

数据库技术及应用教程6

ID:24892653

大小:713.00 KB

页数:31页

时间:2018-11-16

数据库技术及应用教程6_第1页
数据库技术及应用教程6_第2页
数据库技术及应用教程6_第3页
数据库技术及应用教程6_第4页
数据库技术及应用教程6_第5页
资源描述:

《数据库技术及应用教程6》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、SQL语言基础DML语言Select多表查询SELECTemployee.fname,employee.lname,jobs.job_desc,jobs.job_id,jobs.min_lvl,obs.max_lvlFROMemployee,jobs格式Select[表名称.字段名,…]from[表名称列表,…]Select嵌套查询SELECTemployee.fname,employee.lname,jobs.job_desc,jobs.job_id,jobs.min_lvl,obs.max_lvlFROMemployee,jobsWherejobs.job_id=(selec

2、ttop1fromjobswheremin_lvl=10)4数据表连接及连接查询连接查询:一个查询需要对多个表进行操作表的连接方法:表之间满足一定条件的行进行连接时,FROM子句指明进行连接的表名,WHERE子句指明连接的列名及其连接条件利用关键字JOIN进行连接:当将JOIN关键词放于FROM子句中时,应有关键词ON与之对应,以表明连接的条件5INNERJOIN显示符合条件的记录,此为默认值LEFT(OUTER)JOIN为左(外)连接,用于显示符合条件的数据行以及左边表中不符合条件的数据行,此时右边数据行会以NULL来显示RIGHT(OUTER)JOIN右(外)连接,用于显示符

3、合条件的数据行以及右边表中不符合条件的数据行。此时左边数据行会以NULL来显示FULL(OUTER)JOIN显示符合条件的数据行以及左边表和右边表中不符合条件的数据行。此时缺乏数据的数据行会以NULL来显示CROSSJOIN将一个表的每一个记录和另一表的每个记录匹配成新的数据行JION的分类6等值连接与非等值连接[例3-48]查询“刘伟”老师所讲授的课程,要求列出教师号、教师姓名和课程号。方法1:SELECTT.TNo,TN,CNoFROMT,TCWHERE(T.TNo=TC.TNo)AND(TN='刘伟')方法2:SELECTT.TNo,TN,CNoFROMTINNERJOIN

4、TCONT.TNo=TC.TNoWHERE(TN='刘伟')连接条件,当比较运算符为“=”时,称为等值连接。其他情况为非等值连接。引用列名TNo时要加上表名前缀,这是因为两个表中的列名相同,必须用表名前缀来确切说明所指列属于哪个表,以避免二义性。7[例3-49]查询所有选课学生的学号、姓名、选课名称及成绩。SELECTS.SNo,SN,CN,ScoreFROMS,C,SCWHERES.SNo=SC.SNoANDSC.CNo=C.CNo[例3-50]查询每门课程的课程名、任课教师姓名及其职务、选课人数。SELECTCN,TN,Prof,COUNT(SC.SNo)FROMC,T,TC

5、,SCWHERET.TNo=TC.TNoANDC.CNo=TC.CNoANDSC.CNo=C.CNoGROUPBYSC.CNo8自身连接[例3-51]查询所有比“刘伟”工资高的教师姓名、工资和刘伟的工资。方法1:SELECTX.TN,X.SalASSal_a,Y.SalASSal_bFROMTASX,TASYWHEREX.Sal>Y.SalANDY.TN='刘伟'方法2:SELECTX.TN,X.Sal,Y.SalFROMTASXINNERJOINTASYONX.Sal>Y.SalANDY.TN='刘伟'方法3:SELECTR1.TN,R1.Sal,R2.SalFROM(SELE

6、CTTN,SalFROMS)ASR1INNERJOIN(SELECTSalFROMTWHERETN='刘伟')ASR2ONR1.Sal>R2.Sal9[例3-52]检索所有学生姓名,年龄和选课名称。方法1:SELECTSN,Age,CNFROMS,C,SCWHERES.SNo=SC.SNoANDSC.CNo=C.CNo方法2:SELECTR3.SNo,R3.SN,R3.Age,R4.CNFROM(SELECTSNo,SN,AgeFROMS)ASR3INNERJOIN(SELECTR2.SNo,R1.CNFROM(SELECTCNo,CNFROMC)ASR1INNERJOIN(SE

7、LECTSNo,CNoFROMSC)ASR2ONR1.CNo=R2.CNo)ASR4ONR3.SNo=R4.SNo10外连接而在外部连接中,参与连接的表有主从之分,以主表的每行数据去匹配从表的数据列。符合连接条件的数据将直接返回到结果集中,对那些不符合连接条件的列,将被填上NULL值后再返回到结果集中。[例3-53]查询所有学生的学号、姓名、选课名称及成绩(没有选课的同学的选课信息显示为空)。SELECTS.SNo,SN,CN,ScoreFROMSLEFTOUTERJOINSCO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。