Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

access教程SQL语言妙用(二)

时 间:2008-06-02 08:18:37
作 者:UMVSoft整理   ID:1445  城市:上海
摘 要:
正 文:

使用SQL语句联接表

  在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIGHT这三种JOIN操作。
  首先我们来讲讲INNER JOIN 的用法:INNER JOIN 语句可以用来组合两个表中的记录,只要在公共字段之中有相符的值即可,在语法上,INNER JOIN 是这样定义的。

INNER JOINd的定义方式

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

出版社资料表

图书资料表

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

输入的内容

  现在我们执行这个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 相反。
  所以刚才的那个例子还可以写成:

刚才那个例子程序的另一种写法

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

  如果想将几个表联接起来,在JOIN操作中我们可以进行嵌套操作,有三个表:表1、表2、表3,现在将三个表联接起来:
FROM (表1 INNER JOIN 表2 ON 表1.序号=表2.序号)
INNER JOIN 表3
ON 表1.序号=表3.序号

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

定义新的字段名

  
  在有的时候,将要建立的查询中的字段名意义有了新的变化,不能再使用,或者有的新字段是由表达式构成的,这样的字段都需要在查询中为它们设定新的名字。在SQL中可以用“AS”操作来实现定义新的字段名。

  例如在新建的查询中将“表1”中的“字段1”的内容对应到新字段“新字段1”中: Select 表1.字段1 AS 新字段1 FROM 表1; 现在再看看这个查询的数据表,可以看到在表中的字段名已经换成了“新字段1”了。

 

插图



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助