ACCESS入门教程(十七)SQL语言妙用
查询SQL视图的切换 在使用过程中,我们经常会使用到一些查询,但这些查询用各种查询向导和设计器都无法做出来,不知道你还记不记得,在查询那一课中我们讲过SQL查询,用这种查询就可以完成比较复杂的查询工作。当时你还刚刚开始使用ACCESS,用设计视图和向导就可以建立很多有用的查询,这些足够你掌握一段时间了,而且它的功能已经基本上能满足我们的需要。而SQL语言作为一种通用的数据库操作语言,并不是ACCESS用户必须要掌握的,但在实际的工作中有时必须用到这种语言才能完成一些特殊的工作。 我们说过在建立查询的时候可以切换到SQL视图去,下面来看看是怎么切换的: 当你打开一个查询以后,单击“新建方法”列表的时候并没有一个“使用SQL视图创建查询”的选项, 这也表明ACCESS并不提倡在工作中使用SQL语言,那我们就单击“在设计视图中创建查询”这一项,之后将会在屏幕上出现一个设计视图, 现在我们要切换到SQL视图,只要将鼠标移动到工具栏最左面的“视图”选项按钮右边的向下按钮上,单击鼠标左键,在弹出的下拉菜单中选中“SQL 设计视图”项就可以将视图切换到SQL状态。 基本的SQL语句 在SQL语言中用得最多的就是SELECT语句了。我们就先讲讲SELECT语句吧。 SELECT语句构成了SQL数据库语言的核心,它的语法包括5个主要子句,分别是FORM、WHERE、GROUP BY、HAVING、ORDER BY子句。 实际上,当我们要将表1的字段1和字段3用来建立一个查询的话,只需要书写下面这样一条语句就可以了。 SELECT 表1.字段1,表1.字段3(表的名字、字段名最好和具体的例子结合起来,下同) FROM 表1;
现在我们看到了这个查询的结果,和直接用查询视图设计的查询产生了相同的效果。其实ACCESS中所有的数据库操作都是由SQL语言构成的,微软公司只是在其上增加了更加方便的操作向导和可视化设计罢了。 现在我们再单击工具栏中的“执行”按钮,这个操作就不能在查询设计视图中做出来。让我们将视图切换到设计视图,你看,这个功能在设计视图中也能实现。 原来只需要将字段“单价”也作为一个字段放入查询表格中,并在准则中将这个字段的值设置为“<30”。 单击工具栏上的“执行”按钮就会发现这个SQL语句将字段2中的所有记录分成了几组,并将这几组的总消耗都统计了出来,其中SUM函数是用来产生合计的函数。 单击工具栏上的“执行”按钮,我们发现这两个查询产生的结果是一样的。
但在标准的SQL语言中,要和GROUP BY 共同使用的条件限制语句只有 HAVING 子句,所以要记住在使用GROUP BY 子句时最好不要用WHERE 子句来对条件进行限制。 在这个SELECT 语句中还有一个ORDER BY 语句,这个语句是用来将各种记录进行排序。 通过这个例子你现在会使用这个子句了吧?
使用SQL语句联接表 在SQL中,很多威力都来自于将几个表或查询中的信息联接起来,并将结果显示为单个逻辑记录集的能力。在这种联接中包括INNER、LEFT、RIGHT这三种JOIN操作。 举个例子:我们现在要将“图书资料表”和“出版社资料表”联接起来,然后列出出版社所出的图书。让我们先看看这两个表,
然后在SQL设计视图中输入以下内容 现在我们执行这个SQL语句, 发现现在的查询结果将所有出版社和图书都列了出来。 将两个查询都切换到数据表视图后我们会发现两个查询的查询结果虽然一样,但在使用INNER JOIN操作的查询中可以添加新的数据。就像在表中添加数据一样。而没有使用INNER JOIN 操作的查询就不能添加新数据,相比之下使用INNER JOIN操作的查询更像将两个具有相关内容的表联接在一起新生成的表。 单击工具栏上的“执行”按钮,我们看到这时显示的数据表和刚才显示的用LEFT JOIN 的数据表一样。现在看出来了吧,原来它们的功能是可以互换的。
定义新的字段名 例如在新建的查询中将“表1”中的“字段1”的内容对应到新字段“新字段1”中: SELECT 表1.字段1 AS 新字段1 FROM 表1; 现在再看看这个查询的数据表,可以看到在表中的字段名已经换成了“新字段1”了。
|