1、COUNT(*)返回被选行数FIRST(column)返回在指定的域中第一个记录的值LAST(column)返回在指定的域中最后一个记录的值MAX(column)返回某列的最高值MIN(column)返回某列的最低值STDEV(column)STDEVP(column)SUM(column)返回某列的总和VAR(column)VARP(column)在 SQL Server 中的合计函数BINARY_CHECKSUMCHECKSUMCHECKSUM_AGG返回某列的行数(不包括NULL值)COUNT(DISTINCT column)返回相异结果的数目返回在指定的域中第一个记录的值(SQLSer
2、ver2000 不支持)返回在指定的域中最后一个记录的值(SQLServer2000 不支持)Scalar 函数Scalar 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。MS Access 中的 Scalar 函数UCASE(c)将某个域转换为大写LCASE(c)将某个域转换为小写MID(c,start,end)从某个文本域提取字符LEN(c)返回某个文本域的长度INSTR(c,char)返回在某个文本域中指定字符的数值位置LEFT(c,number_of_char)返回某个被请求的文本域的左侧部分RIGHT(c,number_of_char)返回某个被请求的文本域的右侧部分R
3、OUND(c,decimals)对某个数值域进行指定小数位数的四舍五入MOD(x,y)返回除法操作的余数NOW()返回当前的系统日期FORMAT(c,format)改变某个域的显示方式DATEDIFF(d,date1,date2)用于执行日期计算SQL AVG 函数定义和用法AVG 函数返回数值列的平均值。NULL 值不包括在计算中。SQL AVG() 语法SELECT AVG(column_name) FROM table_nameSQL AVG() 实例我们拥有下面这个 Orders 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bush2
4、2008/11/231600Carter32008/10/0570042008/09/2830052008/08/062000Adams62008/07/21100例子 1现在,我们希望计算 OrderPrice 字段的平均值。我们使用如下 SQL 语句:SELECT AVG(OrderPrice) AS OrderAverage FROM Orders结果集类似这样:OrderAverage950例子 2现在,我们希望找到 OrderPrice 值高于 OrderPrice 平均值的客户。SELECT Customer FROM OrdersWHERE OrderPrice(SELECT A
5、VG(OrderPrice) FROM Orders)COUNT() 函数返回匹配指定条件的行数。SQL COUNT() 语法SQL COUNT(column_name) 语法COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):SELECT COUNT(column_name) FROM table_nameSQL COUNT(*) 语法COUNT(*) 函数返回表中的记录数:SELECT COUNT(*) FROM table_nameSQL COUNT(DISTINCT column_name) 语法COUNT(DISTINCT column_name) 函
6、数返回指定列的不同值的数目:SELECT COUNT(DISTINCT column_name) FROM table_nameCOUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。SQL COUNT(column_name) 实例我们拥有下列 现在,我们希望计算客户 Carter 的订单数。SELECT COUNT(Customer) AS CustomerNilsen FROM OrdersWHERE Customer=Carter以上 SQL 语句的结果是 2,因为客户 Carter 共有 2
7、个订单:CustomerNilsenSQL COUNT(*) 实例如果我们省略 WHERE 子句,比如这样:SELECT COUNT(*) AS NumberOfOrders FROM OrdersNumberOfOrders这是表中的总行数。SQL COUNT(DISTINCT column_name) 实例 表中不同客户的数目。SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM OrdersNumberOfCustomers这是 表中不同客户(Bush, Carter 和 Adams)的数目。FIRST() 函数FIRST()
8、 函数返回指定的字段中第一个记录的值。提示:可使用 ORDER BY 语句对记录进行排序。SQL FIRST() 语法SELECT FIRST(column_name) FROM table_nameSQL FIRST() 实例现在,我们希望查找 列的第一个值。SELECT FIRST(OrderPrice) AS FirstOrderPrice FROM OrdersFirstOrderPriceLAST() 函数LAST() 函数返回指定的字段中最后一个记录的值。SQL LAST() 语法SELECT LAST(column_name) FROM table_nameSQL LAST()
9、实例 列的最后一个值。SELECT LAST(OrderPrice) AS LastOrderPrice FROM OrdersLastOrderPriceMAX() 函数MAX 函数返回一列中的最大值。SQL MAX() 语法SELECT MAX(column_name) FROM table_nameMIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。SQL MAX() 实例 列的最大值。SELECT MAX(OrderPrice) AS LargestOrderPrice FROM OrdersLargestOrderPriceMIN() 函数MIN 函数返回一列中的
10、最小值。SQL MIN() 语法SELECT MIN(column_name) FROM table_nameSQL MIN() 实例 列的最小值。SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM OrdersSmallestOrderPriceSUM() 函数SUM 函数返回数值列的总数(总额)。SQL SUM() 语法SELECT SUM(column_name) FROM table_nameSQL SUM() 实例 字段的总数。SELECT SUM(OrderPrice) AS OrderTotal FROM OrdersOrderTo
11、tal5700合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。GROUP BY 语句GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。SQL GROUP BY 语法SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameSQL GROUP BY 实例现在,我们希望查找每个客户的总金额(总订单)。我们想要使用 GROUP BY 语句对客户进行组合。我们使用下列 SQL 语句:S
12、ELECT Customer,SUM(OrderPrice) FROM OrdersGROUP BY CustomerSUM(OrderPrice)1700很棒吧,对不对?让我们看一下如果省略 GROUP BY 会出现什么情况:上面的结果集不是我们需要的。那么为什么不能使用上面这条 SELECT 语句呢?解释如下:上面的 SELECT 语句指定了两列(Customer 和 SUM(OrderPrice)。SUM(OrderPrice) 返回一个单独的值( 列的总计),而 Customer 返回 6 个值(每个值对应 表中的每一行)。因此,我们得不到正确的结果。不过,您已经看到了,GROUP B
13、Y 语句解决了这个问题。GROUP BY 一个以上的列我们也可以对一个以上的列应用 GROUP BY 语句,就像这样:SELECT Customer,OrderDate,SUM(OrderPrice) FROM OrdersGROUP BY Customer,OrderDateHAVING 子句在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。SQL HAVING 语法HAVING aggregate_function(column_name) operator valueSQL HAVING 实例现在,我们希望查找订单总金额少于 2000 的客户。HAV
14、ING SUM(OrderPrice)1500结果集:UCASE() 函数UCASE 函数把字段的值转换为大写。SQL UCASE() 语法SELECT UCASE(column_name) FROM table_nameSQL UCASE() 实例IdLastNameFirstNameAddressCityJohnOxford StreetLondonGeorgeFifth AvenueNew YorkThomasChangan StreetBeijing现在,我们希望选取 LastName 和 FirstName 列的内容,然后把 列转换为大写。SELECT UCASE(LastName)
15、 as LastName,FirstName FROM PersonsADAMSBUSHCARTERLCASE() 函数LCASE 函数把字段的值转换为小写。SQL LCASE() 语法SELECT LCASE(column_name) FROM table_nameSQL LCASE() 实例 列转换为小写。SELECT LCASE(LastName) as LastName,FirstName FROM PersonsadamsbushcarterMID() 函数MID 函数用于从文本字段中提取字符。SQL MID() 语法SELECT MID(column_name,start,length) FROM table_name参数column_name必需。要提取字符的字段。start规定开始位置(起始值是 1)。length可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。SQL MID() 实例现在,我们希望从 City 列中提取前 3 个字符。SELECT MID(City,1,3) as SmallCity FROM PersonsSmallCityLonNewBeiLEN() 函数LEN 函数返回文本字段中值的长度。SQL LEN() 语法SELECT LEN(column_name) FROM table_nameSQL LEN() 实例La
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1