当前位置: 首页 » 产品 » 机械设备 » 正文

如何使用WPS表格嵌套查询与连接查询

放大字体  缩小字体 发布日期: 2024-11-27 12:59   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:10
核心提示:  小编在这给大家讲讲WPS表格嵌套查询与连接查询  先来看一下这个文件的内容:  下面,我们还是采用查询学生课程.et这个文

  小编在这给大家讲讲WPS表格嵌套查询与连接查询

  先来看一下这个文件的内容:

如何使用WPS表格嵌套查询与连接查询    三联

WPS表格嵌套查询与连接查询教程

WPS表格嵌套查询与连接查询教程

  下面,我们还是采用查询学生课程.et这个文件来做查询:

  示例1:查询与"刘晨"同学在同一个系学习的学生(显示学号、姓名、系名)

  分析,先查出"刘晨"同学所在的系名,然后再由查出的系名查出最后结果,这里用到嵌套查询,请注意写法

  SELECt [学号],[姓名],[所在系]

  FROM [学生表$]

  WHERe [所在系] IN

  (

  SELECt [所在系]

  FROM [学生表$]

  WHERe [姓名]='刘晨'

  )

  复制代码

WPS表格嵌套查询与连接查询教程

  另一个方法:在上面,子查询(括号部分)和父查询都是对同一张表进行的,我们如果将这张表想象成两张,让这两张表进行自身连接,也可以同样达到目的,这里我们用所在系这一项进行连接

  SELECt [A].[学号],[A].[姓名],[A].[所在系]

  FROM [学生表$] [A],[学生表$] [B]

  WHERe [A].[所在系]=[B].[所在系] AND [B].[姓名]='刘晨'

  复制代码

WPS表格嵌套查询与连接查询教程

  这里与前面不同的就是第二行:FROM [学生表$] [A],[学生表$] [B]

  [学生表$] [A]的意思是为学生表这个表定义一个别名,名称为A,[学生表$] [B] 同理

  这里的意思就是从查询A表的学号,姓名,所在系三项

  查询的表格来自A表和B表

  查询条件是让B表的姓名项为刘晨,并且让A表和B表根据所在系进行进行连接。

  这其实和多表查询是一样的,只是这里的"多表"其实本质是同一个表的两个不同名称,我们称之为自表连接!

  再来看一个例子:

  示例2:查询选修了课程名为"信息系统"的学生学号和姓名

  分析:先从第二个表课程表中查出"信息系统"这门课的课程号,然后由课程号在选课表中查出学生学号,再由这个学号到学生表中查出所需信息

  SELECt [学号],[姓名]

  FROM [学生表$]

  WHERe [学号] IN

  (

  SELECt [学号]

  FROM [选课表$]

  WHERe [课程号] IN

  (

  SELECt [课程号]

  FROM [课程表$]

  WHERe [课程名]='信息系统'

  )

  )

  复制代码

WPS表格嵌套查询与连接查询教程

  另一个方法,我们同样可以用连接查询来解决这个问题:

  SELECt [学生表$].[学号],[姓名]

  FROM [学生表$],[课程表$],[选课表$]

  WHERe [学生表$].[学号]=[选课表$].[学号] AND

  [选课表$].[课程号]=[课程表$].[课程号] AND

  [课程表$].[课程名]='信息系统'

  复制代码

WPS表格嵌套查询与连接查询教程

  总结:

  1.在SQL语言中,对于比较复杂的查询,往往有多种方法可以选择,比较常用的就是嵌套查询与连接查询。

  这两种方法都可以单表查询和多表查询。

  2.相对于连接查询,嵌套查询语法结构比较有条理,思路清晰,更容易理解。

  3.两种方法没有优劣之分,两者的查询原理不同(你会发现,在不排序的情况下,两种方法查询出来的结果显示顺序是不一样的)在特定的数据环境下,两种方法的效率是不同的,可能前者高,也可能后者高。所以数据库的管理者会根据不同的数据选择上述两种方法。

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站