Access 2000教程:17.3 使用SQL语句联接表

2016-02-19 21:28 6 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的Access 2000教程:17.3 使用SQL语句联接表,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

  在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIGHT这三种JOIN操作。

  首先我们来讲讲INNER JOIN 的用法:INNER JOIN 语句可以用来组合两个表中的记录,只要在公共字段之中有相符的值即可,在语法上,INNER JOIN 是这样定义的。

  举个例子:我们现在要将“图书资料表”和“出版社资料表”联接起来,然后列出出版社所出的图书。让我们先看看这两个表,

  然后在SQL设计视图中输入以下内容

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  现在我们执行这个SQL语句,

  发现现在的查询结果将所有出版社和图书都列了出来。

  这个查询好像也可以用下面的语句来实现。

  将两个查询都切换到数据表视图后我们会发现两个查询的查询结果虽然一样,但在使用INNER JOIN操作的查询中可以添加新的数据。就像在表中添加数据一样。而没有使用INNER JOIN 操作的查询就不能添加新数据,相比之下使用INNER JOIN操作的查询更像将两个具有相关内容的表联接在一起新生成的表。

  知道了它的用处,我们来看看LEFT JOIN 的结构:

FROM [表名1] LEFT JOIN [表名2]
ON [表名1.字段A] 〈关系运算符〉[表名2.字段B]

  其实LEFT JOIN 的功能就是将LEFT左边的表名1中的所有记录全部保留,而将右边的表名2中的字段B与表名1.字段A相对应的记录显示出来。而RIGHT JOIN 和LEFT JOIN 相反。

  所以刚才的那个例子还可以写成:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  单击工具栏上的“执行”按钮,我们看到这时显示的数据表和刚才显示的用LEFT JOIN 的数据表一样。现在看出来了吧,原来它们的功能是可以互换的。

  如果想将几个表联接起来,在JOIN操作中我们可以进行嵌套操作,有三个表:表1、表2、表3,现在将三个表联接起来:

FROM (表1 INNER JOIN 表2 ON 表1.序号=表2.序号)
INNER JOIN 表3
ON 表1.序号=表3.序号

  这样这三个表就联接起来了。

来源:http://www.tulaoshi.com/n/20160219/1626227.html

延伸阅读
在使用过程中,我们经常会使用到一些查询,但这些查询用各种查询向导和设计器都无法做出来,不知道你还记不记得,在查询那一课中我们讲过SQL查询,用这种查询就可以完成比较复杂的查询工作。当时你还刚刚开始使用ACCESS,用设计视图和向导就可以建立很多有用的查询,这些足够你掌握一段时间了,而且它的功能已经基本上能满足我们的需要。而...
单击工具栏上的“视图”按钮,切换回表的设计视图,开始为表设置主键。第五课的课后补充里曾经说过主键是什么。 设置表的主键非常简单,比如要将“订单信息表”中的“订单号”字段作为表的“主键”,只要单击“订单号”这一行中的任何位置,将这行设为当前行,然后单击工具栏上的“主键”按钮,按钮会凹陷进去,在“订单号”一行最左...
用access做应用程序,往往做成"数据"和"程序"两个数据库,"数据"数据库中只存放数据表,"程序"数据库中存放所有的form,query,report,module等,通过表联接"程序"数据库可以访问所有"数据"数据库中的表。 当我们的应用程序更换存储位置的时候往往失去正确的表联接,造成运行错误。下面的一段程序可以自动找回表联接。在我的应用中"程...
用access做应用程序,往往做成"数据"和"程序"两个数据库,"数据"数据库中只存放数据表,"程序"数据库中存放所有的form,query,report,module等,通过表联接"程序"数据库可以访问所有"数据"数据库中的表。 当我们的应用程序更换存储位置的时候往往失去正确的表联接,造成运行错误。下面的一段程序可以自动找回表联接。在我的应用中"程...

经验教程

491

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部