数据库原理与应用快速入门 课件 4.3 实现连接查询_第1页
数据库原理与应用快速入门 课件 4.3 实现连接查询_第2页
数据库原理与应用快速入门 课件 4.3 实现连接查询_第3页
数据库原理与应用快速入门 课件 4.3 实现连接查询_第4页
数据库原理与应用快速入门 课件 4.3 实现连接查询_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理与应用快速入门4.1了解SQL4.2实现单表查询4.3实现连接查询第4章

查询数据4.4实现嵌套查询4.5实现集合查询4.6查询综合应用4.3.1理解连接查询的原理4.3.2实现内连接查询4.2实现连接查询4.2.3实现外连接查询4.3.1理解连接查询的原理为实现连接查询,读者需要首先理解连接查询的实现原理。为了方便表述,我们对student数据库中表的结构进行了简化,并填充了少量样例数据。简化后的students表、courses表、sc表分别如表4.4、表4.5、表4.6所示。表4.4studentsstuIdstuNamesex210101001李勇男210101002刘晨女

表4.5coursescorIdcorNamecredit001数据库4002数学4003英语3.5表4.6scstuIdcorIdscore21010100100185210101001002924.3.1理解连接查询的原理现要求查询学生选修课程的情况,在查询结果中显示students表的全部字段和sc表的全部字段。表4.7连接查询结果一stuIdstuNamesexstuIdcorIdscore210101001李勇男21010100100185210101001李勇男21010100100292

4.3.1理解连接查询的原理现要求查询学生选修课程的情况,在查询结果中显示students表的全部字段和sc表的全部字段。

4.3.1理解连接查询的原理现要求查询学生选修课程的情况,在查询结果中显示students表的全部字段和sc表的全部字段。查询处理过程是:将students表中的记录和sc表中的记录进行连接,两表学号相同的记录连接在一起并存入结果表,学号不同的记录在结果中去掉。

4.3.1理解连接查询的原理在连接查询中,这种查询称为内连接查询。内连接查询将各表中用于连接字段取值相等的行进行连接并存入结果表,相同字段取值不等的行在结果中去掉。

4.3.1理解连接查询的原理如果要查询学生选修课程的情况,查询结果要求显示students表、courses表和sc表三表的全部字段,如表4.8所示,又该如何处理呢?

表4.8连接查询结果二stuIdstuNamesexcorIdcorNamecreditstuIdcorIdscore210101001李勇男001数据库421010100100185210101001李勇男002数学4210101001002924.3.1理解连接查询的原理

4.3.1理解连接查询的原理如果想了解全部学生选修课程的情况,查询结果实现既显示选修了课程的学生情况,又显示没有选修课程的学生情况。对于没有选修课程的学生,其选修部分为空,查询结果如表4.9所示。

表4.9连接查询结果三stuIdstuNamesexstuIdcorIdscore210101001李勇男21010100100185210101001李勇男21010100100292210101002刘晨女

4.3.1理解连接查询的原理对于这种情况,内连接查询显然不能满足要求,需要使用外连接查询来解决。外连接分为左向外连接(简称左连接)、右向外连接(简称右连接)和完整外连接三种。本书介绍左连接和右连接查询两种情况。左连接和右连接的实现原理相同。连接查询:1、内连接

主外键2、外连接

:(1)左连接

(2)右连接

(3)完整外连接

4.3.1理解连接查询的原理左连接查询将两表相同字段取值相等的记录进行连接并存入结果表的同时,还将连接时左表未能连接的所有记录也存入结果表,这部分记录在结果表中右表字段的部分取空值。右连接则与左连接相反,将两表相同字段取值相等的记录连接并存入结果表的同时,还将连接时右表未能连接的所有记录也存入结果表,这部分记录在结果表中左表字段的部分取空值。

4.3.1理解连接查询的原理

4.3.1理解连接查询的原理

4.3.2

实现内连接查询内连接查询语句的基本格式为:SELECT<目标列表达式>[,<目标列表达式>,]…FROM表1INNERJOIN表2ON表1.列名1=表2.列名2[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]]

4.3.2

实现内连接查询【例4-29】查询选修了001号课程且成绩及格的学生的学号和姓名。

4.3.2

实现内连接查询【例4-28】查询选修了课程的学生的情况,要求结果显示students表和sc表的全部字段。

4.3.2

实现内连接查询【例4-30】查询选修了“数据库”的学生的学号、姓名和成绩。

4.3.2

实现内连接查询【例4-31】查询“软件技术”或“计算机应用”班选修了“数据库”的学生的学号、姓名和成绩。

4.3.2

实现内连接查询【例4-32】查询每门课学生成绩的最高分、最低分和平均分,要求在结果中显示课程号和课程名。

4.3.2

实现内连接查询【例4-33】查询选修了课程“数据库”并且成绩优秀(85分以上为优秀)的学生人数。

4.3.3

实现外连接查询左连接查询语句的基本格式为:SELECT<目标列表达式>[,<目标列表达式>,]…FROM表1LEFTJOIN表2ON表1.列名1=表2.列名2[WHERE<条件表达式>]

4.3.3

实现外连接查询右连接查询语句的基本格式为:SELE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论