34-数据查询SQL语句-3课件.ppt

上传人(卖家):晟晟文业 文档编号:5099994 上传时间:2023-02-11 格式:PPT 页数:18 大小:1.03MB
下载 相关 举报
34-数据查询SQL语句-3课件.ppt_第1页
第1页 / 共18页
34-数据查询SQL语句-3课件.ppt_第2页
第2页 / 共18页
34-数据查询SQL语句-3课件.ppt_第3页
第3页 / 共18页
34-数据查询SQL语句-3课件.ppt_第4页
第4页 / 共18页
34-数据查询SQL语句-3课件.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、1 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发 掌握子查询与多表关联查询 掌握内连接关联多表查询 掌握外连接关联多表查询2 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发一、子查询与多表关联子查询SQL语句基本格式:SELECT ,FROM WHERE 在实际应用中,通常需要关联多表才能获得所需的信息。在SELECT查询语句中,可使用子查询方式实现多表关联查询。3 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发例 在选课管理系统数据库中,希望能检索出“计算机学院”的教师名单。该操作需要关联教师信息表Teacher和学院信息表College,才能获得这些数据。这里可采

2、用子查询方法实现两表关联查询,其查询SQL语句如下:SELECT TeacherID,TeacherName,TeacherTitleFROM TeacherWHERE CollegeID IN (SELECT CollegeID FROM College WHERE CollegeName=计算机学院);4 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发数据查询SQL语句及执行结果:5 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发二、使用连接关联多表查询在使用多个表查询时,子查询只有在结果数据均来自一个表的情况下才有用。但如果需要从两个或多个表中获取结果数据,就不能使用子查

3、询,而需要采用连接关联多表查询。连接关联多表查询SQL语句基本格式:SELECT ,FROM ,,,WHERE 6 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发例 在选课管理系统数据库中,希望获得各个学院的教师信息列表,包括学院名称、教师编号、教师姓名、教师性别、职称等信息。要求按学院名称、教师编号分别排序输出,其查询SQL语句如下:SELECT B.CollegeName AS 学院名称,A.TeacherID AS 编号,A.TeacherName AS 姓名,A.TeacherGender AS 性别,A.TeacherTitle AS 职称FROM Teacher AS A,

4、College AS BWHERE A.CollegeID=B.CollegeID ORDER BY B.CollegeName,A.TeacherID;7 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发数据查询SQL语句及执行结果:8 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发三、SQL JOIN ON连接查询语句在SQL语言中,实现多表连接关联查询还可以使用JOINON关键词的语句格式。其中两表连接关联查询的JOINON语句格式如下:SELECT ,FROM JOIN ON;9 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发例 在选课管理系统数据库中,希望获得各

5、个学院的教师信息,包括学院名称、教师编号、教师姓名、教师性别、职称等信息。要求按学院名称、教师编号分别排序输出,其查询SQL语句如下:SELECT B.CollegeName AS 学院名称,A.TeacherID AS 编号,A.TeacherName AS 姓名,A.TeacherGender AS 性别,A.TeacherTitle AS 职称FROM TEACHER AS A JOIN COLLEGE AS BON A.CollegeID=B.CollegeID ORDER BY B.CollegeName,A.TeacherID;10 数据库原理及应用电子科技大学-陆鑫数据库系统原理

6、与开发数据查询SQL语句及执行结果:11 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发四、外部连接前节介绍的多表连接方式在SELECT查询语句称为内部连接。在一些特殊情况下,如关联表中一些行的主键与外键不匹配,查询结果集就会丢失部分数据。12 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发例 在选课管理数据库中,希望查询所有开设课程的学生选课情况,包括课程名称、任课教师、选课学生人数。这需要关联课程信息表COURSE、教师信息表TEACHER、开课计划表PLAN、选课注册信息表REGISTER。其连接查询的SQL语句如下:SELECT C.CourseName AS 课程名称

7、,T.TeacherName AS 教师,COUNT(R.CoursePlanID)AS 选课人数FROM COURSE AS C JOIN PLAN AS P ON C.CourseID=P.CourseID JOIN TEACHER AS T ON P.TeacherID=T.TeacherID JOIN REGISTER AS R ON P.CoursePlanID=R.CoursePlanIDGROUP BY C.CourseName,T.TeacherName;13 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发数据查询SQL语句及执行结果:14 数据库原理及应用电子科技大学

8、-陆鑫数据库系统原理与开发问题:在上面的内连接查询中,只能找出有学生注册的课程名称和选课人数,但不能找出没有学生注册的课程名称。在SQL 应用中,有时候也希望输出那些不满足连接条件的元组数据。这时,可使用JOINON外连接方式实现。其实现方式有三种形式,具体如下:LEFT JOIN:左外连接,即使没有与右表关联列值匹配,也从左表返回所有的行。RIGHT JOIN:右外连接,即使没有与左表关联列值匹配,也从右表返回所有的行。FULL JOIN:全外连接,同时进行左连接和右连接,就返回所有行。15 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发例 在选课管理系统数据库中,希望能查询所有开设

9、课程的学生选课情况,包括课程名称、任课教师、选课学生人数。这需要关联课程信息表COURSE、开课计划表CPLAN、教师信息表TEACHER、选课注册信息表REGISTER。若使用左外连接查询,该JOINON连接查询的SQL语句如下:SELECT C.CourseName AS 课程名称,T.TeacherName AS 教师,COUNT (R.CoursePlanID)AS 选课人数FROM COURSE AS C JOIN PLAN AS P ON C.CourseID=P.CourseID JOIN TEACHER AS T ON P.TeacherID=T.TeacherIDLEFT JOIN REGISTER AS R ON P.CoursePlanID=R.CoursePlanIDGROUP BY C.CourseName,T.TeacherName;16 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发数据查询SQL语句及执行结果:17 数据库原理及应用电子科技大学-陆鑫数据库系统原理与开发

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(34-数据查询SQL语句-3课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|