AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > ASP编程

SQL语言快速入门之三

51自学网 http://www.51zixue.net

 

运算函数

  现在,我们已经了解到在使用SQL语言进行数据库查询操作时可以通过对数值的判断设定灵活的查询条件。为了增强对运算的支持能力,SQL提供了众多实用的运算函数供广大用户使用。例如,我们可以直接在SQL命令中调用SUM或AVG这两个分别用于计算总数和平均数的函数。语法格式如下:

SELECT "function type"("column_name")

FROM "table_name"

如果我们希望查询Store_Information数据表中所有商店的总销售额的话,可以使用如下命令:

SELECT SUM(Sales) FROM Store_Information

查询结果显示为:

SUM(Sales)

$2750

COUNT

  除了SUM和AVG函数之外,COUNT函数是SQL语言中另一个较为常用的运算函数。COUNT函数可以用来计算数据表中指定字段所包含的记录数目。语法格式为:

SELECT COUNT("column_name")

FROM "table_name"

例如,如果我们希望查询Store_Information数据表中的有关商店的记录条数时,可以使用如下命令:

SELECT COUNT(store_name)

FROM Store_Information

查询结果显示为:

Count(store_name)

4

COUNT函数可以和DISTINCT关键字一起使用从而可以查询数据表中指定字段中所有具有不同记录值的记录数目。例如,如果我们希望查询Store_Information数据表中不同商店的数目时,可以使用如下命令:

SELECT COUNT(DISTINCT store_name)

FROM Store_Information

查询结果显示为:

Count(DISTINCT store_name)

3

GROUP BY

下面我们来进一步看一下SQL语言中的集合函数。上文中,我们曾使用SUM函数计算所有商店的销售总额,如果我们希望计算每一家商店各自的总销售额时该怎么办呢?要实现这一目的我们需要做两件事:首先,我们需要查询商店名称和销售额两个字段;然后,我们使用SQL语言的GROUP BY命令将销售额按照不同的商店进行分组,从而计算出不同商店的销售总额。GROUP BY命令的语法格式为:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

我们可以使用如下命令实现上述查询目的:

SELECT store_name, SUM(Sales)

FROM Store_Information

GROUP BY store_name

查询结果显示为:

store_name SUM(Sales)

Los Angeles $1800

San Diego $250

Boston $700

小注:

GROUP BY关键字一般应用于同时查询多个字段并对字段进行算术运算的SQL命令中。

HAVING

用户在使用SQL语言的过程中可能希望解决的另一个问题就是对由sum或其它集合函数运算结果的输出进行限制。例如,我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句。语法格式为:

SELECT "column_name1", SUM("column_name2")

FROM "table_name"

GROUP BY "column_name1"

HAVING (arithematic function condition)

(GROUP BY从句可选)

由此,我们可以使用如下命令实现上述查询目的:

SELECT store_name, SUM(sales)

FROM Store_Information

GROUP BY store_name

HAVING SUM(sales) > 1500

查询结果显示为:

store_name SUM(Sales)

Los Angeles $1800

小注:

SQL语言中设定集合函数的查询条件时使用HAVING从句而不是WHERE从句。通常情况下,HAVING从句被放置在SQL命令的结尾处。

 
 

上一篇:学习ASP的几个观点  下一篇:SQL语言快速入门之二