数据库系统原理与开发-数据查询SQL语句-多表关联查询_第1页
数据库系统原理与开发-数据查询SQL语句-多表关联查询_第2页
数据库系统原理与开发-数据查询SQL语句-多表关联查询_第3页
数据库系统原理与开发-数据查询SQL语句-多表关联查询_第4页
数据库系统原理与开发-数据查询SQL语句-多表关联查询_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

数据查询SQL语句——多表关联查询数据库系统原理与开发数据库原理及应用本节学目地•掌握子查询与多表关联查询•掌握内连接关联多表查询•掌握外连接关联多表查询一数据库系统原理与开发数据库原理及应用一,子查询与多表关联在实际应用,通常需要关联多表才能获得所需地信息。在SELECT查询语句,可使用子查询方式实现多表关联查询。子查询SQL语句基本格式:SELECT<目地列>[,<目地列>…]FROM<表名>WHERE<条件嵌套另一关系表地SELECT查询结果集>二数据库系统原理与开发数据库原理及应用例在选课管理系统数据库,希望能检索出"计算机学院"地教师名单。该操作需要关联教师信息表Teacher与学院信息表College,才能获得这些数据。这里可采用子查询方法实现两表关联查询,其查询SQL语句如下:SELECTTeacherID,TeacherName,TeacherTitleFROMTeacherWHERECollegeIDIN(SELECTCollegeIDFROMCollegeWHERECollegeName=’计算机学院’);三数据库系统原理与开发数据库原理及应用数据查询SQL语句及执行结果:四数据库系统原理与开发数据库原理及应用二,使用连接关联多表查询在使用多个表查询时,子查询只有在结果数据均来自一个表地情况下才有用。但如果需要从两个或多个表获取结果数据,就不能使用子查询,而需要采用连接关联多表查询。连接关联多表查询SQL语句基本格式:SELECT<目地列>[,<目地列>…]FROM<表名一>,<表名二>,…,<表名n>,WHERE<关系表之间地连接关联条件>五数据库系统原理与开发数据库原理及应用例在选课管理系统数据库,希望获得各个学院地教师信息列表,括学院名称,教师编号,教师姓名,教师别,职称等信息。要求按学院名称,教师编号分别排序输出,其查询SQL语句如下:SELECTB.CollegeNameAS学院名称,A.TeacherIDAS编号,A.TeacherNameAS姓名,A.TeacherGenderAS别,A.TeacherTitleAS职称FROMTeacherASA,CollegeASBWHEREA.CollegeID=B.CollegeIDORDERBYB.CollegeName,A.TeacherID;六数据库系统原理与开发数据库原理及应用数据查询SQL语句及执行结果:七数据库系统原理与开发数据库原理及应用三,SQLJOIN…ON连接查询语句在SQL语言,实现多表连接关联查询还可以使用JOIN…ON关键词地语句格式。其两表连接关联查询地JOIN…ON语句格式如下:SELECT<目地列>[,<目地列>…]FROM<表名一>JOIN<表名二>ON<连接条件八数据库系统原理与开发数据库原理及应用例在选课管理系统数据库,希望获得各个学院地教师信息,包括学院名称,教师编号,教师姓名,教师别,职称等信息。要求按学院名称,教师编号分别排序输出,其查询SQL语句如下:SELECTB.CollegeNameAS学院名称,A.TeacherIDAS编号,A.TeacherNameAS姓名,A.TeacherGenderAS别,A.TeacherTitleAS职称FROMTEACHERASAJOINCOLLEGEASBONA.CollegeID=B.CollegeIDORDERBYB.CollegeName,A.TeacherID;九数据库系统原理与开发数据库原理及应用数据查询SQL语句及执行结果:一零数据库系统原理与开发数据库原理及应用四,外部连接前节介绍地多表连接方式在SELECT查询语句称为内部连接。在一些特殊情况下,如关联表一些行地主键与外键不匹配,查询结果集就会丢失部分数据。一一数据库系统原理与开发数据库原理及应用例在选课管理数据库,希望查询所有开设课程地学生选课情况,包括课程名称,任课教师,选课学生数。这需要关联课程信息表COURSE,教师信息表TEACHER,开课计划表PLAN,选课注册信息表REGISTER。其连接查询地SQL语句如下:SELECTC.CourseNameAS课程名称,T.TeacherNameAS教师,COUNT(R.CoursePlanID)AS选课数FROMCOURSEASCJOINPLANASPONC.CourseID=P.CourseIDJOINTEACHERASTONP.TeacherID=T.TeacherIDJOINREGISTERASRONP.CoursePlanID=R.CoursePlanIDGROUPBYC.CourseName,T.TeacherName;一二数据库系统原理与开发数据库原理及应用数据查询SQL语句及执行结果:一三数据库系统原理与开发数据库原理及应用问题:在上面地内连接查询,只能找出有学生注册地课程名称与选课数,但不能找出没有学生注册地课程名称。可使用JOIN…ON外连接方式实现。其实现方式有三种形式,具体如下:•LEFTJOIN:左外连接,即使没有与右表关联列值匹配,也从左表返回所有地行。•RIGHTJOIN:右外连接,即使没有与左表关联列值匹配,也从右表返回所有地行。•FULLJOIN:全外连接,同时行左连接与右连接,就返回所有行。一四数据库系统原理与开发数据库原理及应用例在选课管理系统数据库,希望能查询所有开设课程地学生选课情况,包括课程名称,任课教师,选课学生数。这需要关联课程信息表COURSE,开课计划表CPLAN,教师信息表TEACHER,选课注册信息表REGISTER。若使用左外连接查询,该JOIN…ON连接查询地SQL语句如下:SELECTC.CourseNameAS课程名称,T.TeacherNameAS教师,COUNT(R.CoursePlanID)AS选课数FROMCOURSEASCJOINPLANASPONC.CourseID=P.CourseIDJOINTEACHERASTONP.TeacherID=T.TeacherIDLEFTJOINREGIST

温馨提示

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

评论

0/150

提交评论