基本的SQL语句 在SQL语言中用得最多的就是SELECT语句了。我们就先讲讲SELECT语句吧。 SELECT语句构成了SQL数据库语言的核心,它的语法包括5个主要子句,分别是FORM、WHERE、GROUP BY、HAVING、ORDER BY子句。 SELECT语句的结构是这样的。 SELECT 〈字段列表〉 FROM 〈表列表〉 [ WHERE〈行选择说明〉][GROUP BY 〈分组说明〉][ HAVING 〈组选择说明〉] [ORDER BY 〈排序说明〉]; 
实际上,当我们要将表1的字段1和字段3用来建立一个查询的话,只需要书写下面这样一条语句就可以了。 SELECT 表1.字段1,表1.字段3(表的名字、字段名最好和具体的例子结合起来,下同) FROM 表1; 我们可以这样理解这句话,从表1中选择出字段1和字段3,选中的每个字段都用逗号隔开,并且每个字段前面都列的有表或查询的名字,并用“.”联起来。而FROM后面则需要有包含这些字段的所有表的名称,各个名称之间要用逗号联接起来。 
现在我们可以单击“工具”菜单上的“执行”按钮 ,

现在我们看到了这个查询的结果,和直接用查询视图设计的查询产生了相同的效果。其实ACCESS中所有的数据库操作都是由SQL语言构成的,微软公司只是在其上增加了更加方便的操作向导和可视化设计罢了。 当我们直接用设计视图建立一个同样的查询以后,将视图切换到SQL视图,你会惊奇的发现,在这个视图中的SQL编辑器中有同样的语句。看来是ACCESS自动生成的语句。 原来ACCESS也是先生成SQL语句,然后用这些语句再去操作数据库。 现在我们再讲讲SELECT语句中后几种子句的用途吧。你发现这些子句都被方括号适起来了,这是表明这些子句在SELECT语句中都是可选项目,其中WHERE 子句是一个行选择说明子句,用这个语句可以对我们所选的行,就是表中的记录进行限制,当WHERE 后面的行选择说明为真的时候才将这些行作为查询的行,而且在WHERE中还可以有多种约束条件,这些条件可以通过“AND”这样的逻辑运算符联接起来。 SELECT 表1.字段1,表1.字段3 FROM 表1 WHERE 表1.字段2 = 2; 
现在我们再单击工具栏中的“执行”按钮,这个操作就不能在查询设计视图中做出来。让我们将视图切换到设计视图,你看,这个功能在设计视图中也能实现。 
原来只需要将字段“单价”也作为一个字段放入查询表格中,并在准则中将这个字段的值设置为“<30”。 下面让我们来看看GROUP BY 子句,这两个词在ACCESS中你一定见过,在用设计视图建立总计查询的时候,在表格中会出现一个总计选项。这时在这个选项对应的表格内就出现GROUP BY这两个词。
现在我们就来看看这个子句有什么用处。 SELECT 表1.字段2,SUM( 表1.字段3) FROM 表1 GROUP BY 字段2 ; 
单击工具栏上的“执行”按钮就会发现这个SQL语句将字段2中的所有记录分成了几组,并将这几组的总消耗都统计了出来,其中SUM函数是用来产生合计的函数。 现在再讲讲HAVING子句,当你在使用GROUP BY 子句对表或查询中的记录进行分组的时候,有时我们会要求对所选的记录进行限制,只允许满足条件的行进行分组和各种统计计算。于是我们写到 SELECT 表1.字段2,SUM( 表1.字段3) FROM 表1 GROUP BY 字段2 HAVING 表1.字段2= 2; 
单击工具栏上的“执行”按钮,我们发现这两个查询产生的结果是一样的。 
但在标准的SQL语言中,要和GROUP BY 共同使用的条件限制语句只有 HAVING 子句,所以要记住在使用GROUP BY 子句时最好不要用WHERE 子句来对条件进行限制。 在这个SELECT 语句中还有一个ORDER BY 语句,这个语句是用来将各种记录进行排序。 SELECT 表1.字段2,SUM( 表1.字段3) FROM 表1 ORDER BY 表1.字段3; 现在执行这个查询,我们发现所有记录的顺序是按照字段3来进行的。 
通过这个例子你现在会使用这个子句了吧? SQL语句的单一功能非常简单,掌握起来也很容易。但要将这些语句组合起来建立一个较大的查询,还需要在输入各种表、查询和它们中的字段名时要非常仔细。
 
2/2 首页 上一页 1 2 |