Sql 学习笔记2Word文档格式.docx

上传人:b****5 文档编号:20630232 上传时间:2023-01-24 格式:DOCX 页数:19 大小:21.12KB
下载 相关 举报
Sql 学习笔记2Word文档格式.docx_第1页
第1页 / 共19页
Sql 学习笔记2Word文档格式.docx_第2页
第2页 / 共19页
Sql 学习笔记2Word文档格式.docx_第3页
第3页 / 共19页
Sql 学习笔记2Word文档格式.docx_第4页
第4页 / 共19页
Sql 学习笔记2Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

Sql 学习笔记2Word文档格式.docx

《Sql 学习笔记2Word文档格式.docx》由会员分享,可在线阅读,更多相关《Sql 学习笔记2Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

Sql 学习笔记2Word文档格式.docx

COUNT(*)

返回被选行数

FIRST(column)

返回在指定的域中第一个记录的值

LAST(column)

返回在指定的域中最后一个记录的值

MAX(column)

返回某列的最高值

MIN(column)

返回某列的最低值

STDEV(column)

 

STDEVP(column)

SUM(column)

返回某列的总和

VAR(column)

VARP(column)

在SQLServer中的合计函数

BINARY_CHECKSUM

CHECKSUM

CHECKSUM_AGG

返回某列的行数(不包括NULL值)

COUNT(DISTINCTcolumn)

返回相异结果的数目

返回在指定的域中第一个记录的值(SQLServer2000不支持)

返回在指定的域中最后一个记录的值(SQLServer2000不支持)

Scalar函数

Scalar函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。

MSAccess中的Scalar函数

UCASE(c)

将某个域转换为大写

LCASE(c)

将某个域转换为小写

MID(c,start[,end])

从某个文本域提取字符

LEN(c)

返回某个文本域的长度

INSTR(c,char)

返回在某个文本域中指定字符的数值位置

LEFT(c,number_of_char)

返回某个被请求的文本域的左侧部分

RIGHT(c,number_of_char)

返回某个被请求的文本域的右侧部分

ROUND(c,decimals)

对某个数值域进行指定小数位数的四舍五入

MOD(x,y)

返回除法操作的余数

NOW()

返回当前的系统日期

FORMAT(c,format)

改变某个域的显示方式

DATEDIFF(d,date1,date2)

用于执行日期计算

SQLAVG函数

定义和用法

AVG函数返回数值列的平均值。

NULL值不包括在计算中。

SQLAVG()语法

SELECTAVG(column_name)FROMtable_name

SQLAVG()实例

我们拥有下面这个"

Orders"

表:

O_Id

OrderDate

OrderPrice

Customer

1

2008/12/29

1000

Bush

2

2008/11/23

1600

Carter

3

2008/10/05

700

4

2008/09/28

300

5

2008/08/06

2000

Adams

6

2008/07/21

100

例子1

现在,我们希望计算"

OrderPrice"

字段的平均值。

我们使用如下SQL语句:

SELECTAVG(OrderPrice)ASOrderAverageFROMOrders

结果集类似这样:

OrderAverage

950

例子2

现在,我们希望找到OrderPrice值高于OrderPrice平均值的客户。

SELECTCustomerFROMOrders

WHEREOrderPrice>

(SELECTAVG(OrderPrice)FROMOrders)

COUNT()函数返回匹配指定条件的行数。

SQLCOUNT()语法

SQLCOUNT(column_name)语法

COUNT(column_name)函数返回指定列的值的数目(NULL不计入):

SELECTCOUNT(column_name)FROMtable_name

SQLCOUNT(*)语法

COUNT(*)函数返回表中的记录数:

SELECTCOUNT(*)FROMtable_name

SQLCOUNT(DISTINCTcolumn_name)语法

COUNT(DISTINCTcolumn_name)函数返回指定列的不同值的数目:

SELECTCOUNT(DISTINCTcolumn_name)FROMtable_name

COUNT(DISTINCT)适用于ORACLE和MicrosoftSQLServer,但是无法用于MicrosoftAccess。

SQLCOUNT(column_name)实例

我们拥有下列"

现在,我们希望计算客户"

Carter"

的订单数。

SELECTCOUNT(Customer)ASCustomerNilsenFROMOrders

WHERECustomer='

Carter'

以上SQL语句的结果是2,因为客户Carter共有2个订单:

CustomerNilsen

SQLCOUNT(*)实例

如果我们省略WHERE子句,比如这样:

SELECTCOUNT(*)ASNumberOfOrdersFROMOrders

NumberOfOrders

这是表中的总行数。

SQLCOUNT(DISTINCTcolumn_name)实例

表中不同客户的数目。

SELECTCOUNT(DISTINCTCustomer)ASNumberOfCustomersFROMOrders

NumberOfCustomers

这是"

表中不同客户(Bush,Carter和Adams)的数目。

FIRST()函数

FIRST()函数返回指定的字段中第一个记录的值。

提示:

可使用ORDERBY语句对记录进行排序。

SQLFIRST()语法

SELECTFIRST(column_name)FROMtable_name

SQLFIRST()实例

现在,我们希望查找"

列的第一个值。

SELECTFIRST(OrderPrice)ASFirstOrderPriceFROMOrders

FirstOrderPrice

LAST()函数

LAST()函数返回指定的字段中最后一个记录的值。

SQLLAST()语法

SELECTLAST(column_name)FROMtable_name

SQLLAST()实例

列的最后一个值。

SELECTLAST(OrderPrice)ASLastOrderPriceFROMOrders

LastOrderPrice

MAX()函数

MAX函数返回一列中的最大值。

SQLMAX()语法

SELECTMAX(column_name)FROMtable_name

MIN和MAX也可用于文本列,以获得按字母顺序排列的最高或最低值。

SQLMAX()实例

列的最大值。

SELECTMAX(OrderPrice)ASLargestOrderPriceFROMOrders

LargestOrderPrice

MIN()函数

MIN函数返回一列中的最小值。

SQLMIN()语法

SELECTMIN(column_name)FROMtable_name

SQLMIN()实例

列的最小值。

SELECTMIN(OrderPrice)ASSmallestOrderPriceFROMOrders

SmallestOrderPrice

SUM()函数

SUM函数返回数值列的总数(总额)。

SQLSUM()语法

SELECTSUM(column_name)FROMtable_name

SQLSUM()实例

字段的总数。

SELECTSUM(OrderPrice)ASOrderTotalFROMOrders

OrderTotal

5700

合计函数(比如SUM)常常需要添加GROUPBY语句。

GROUPBY语句

GROUPBY语句用于结合合计函数,根据一个或多个列对结果集进行分组。

SQLGROUPBY语法

SELECTcolumn_name,aggregate_function(column_name)

FROMtable_name

WHEREcolumn_nameoperatorvalue

GROUPBYcolumn_name

SQLGROUPBY实例

现在,我们希望查找每个客户的总金额(总订单)。

我们想要使用GROUPBY语句对客户进行组合。

我们使用下列SQL语句:

SELECTCustomer,SUM(OrderPrice)FROMOrders

GROUPBYCustomer

SUM(OrderPrice)

1700

很棒吧,对不对?

让我们看一下如果省略GROUPBY会出现什么情况:

上面的结果集不是我们需要的。

那么为什么不能使用上面这条SELECT语句呢?

解释如下:

上面的SELECT语句指定了两列(Customer和SUM(OrderPrice))。

SUM(OrderPrice)"

返回一个单独的值("

列的总计),而"

Customer"

返回6个值(每个值对应"

表中的每一行)。

因此,我们得不到正确的结果。

不过,您已经看到了,GROUPBY语句解决了这个问题。

GROUPBY一个以上的列

我们也可以对一个以上的列应用GROUPBY语句,就像这样:

SELECTCustomer,OrderDate,SUM(OrderPrice)FROMOrders

GROUPBYCustomer,OrderDate

HAVING子句

在SQL中增加HAVING子句原因是,WHERE关键字无法与合计函数一起使用。

SQLHAVING语法

HAVINGaggregate_function(column_name)operatorvalue

SQLHAVING实例

现在,我们希望查找订单总金额少于2000的客户。

HAVINGSUM(OrderPrice)<

结果集类似:

现在我们希望查找客户"

Bush"

或"

Adams"

拥有超过1500的订单总金额。

我们在SQL语句中增加了一个普通的WHERE子句:

Bush'

ORCustomer='

Adams'

HAVINGSUM(OrderPrice)>

1500

结果集:

UCASE()函数

UCASE函数把字段的值转换为大写。

SQLUCASE()语法

SELECTUCASE(column_name)FROMtable_name

SQLUCASE()实例

Id

LastName

FirstName

Address

City

John

OxfordStreet

London

George

FifthAvenue

NewYork

Thomas

ChanganStreet

Beijing

现在,我们希望选取"

LastName"

和"

FirstName"

列的内容,然后把"

列转换为大写。

SELECTUCASE(LastName)asLastName,FirstNameFROMPersons

ADAMS

BUSH

CARTER

LCASE()函数

LCASE函数把字段的值转换为小写。

SQLLCASE()语法

SELECTLCASE(column_name)FROMtable_name

SQLLCASE()实例

列转换为小写。

SELECTLCASE(LastName)asLastName,FirstNameFROMPersons

adams

bush

carter

MID()函数

MID函数用于从文本字段中提取字符。

SQLMID()语法

SELECTMID(column_name,start[,length])FROMtable_name

参数

column_name

必需。

要提取字符的字段。

start

规定开始位置(起始值是1)。

length

可选。

要返回的字符数。

如果省略,则MID()函数返回剩余文本。

SQLMID()实例

现在,我们希望从"

City"

列中提取前3个字符。

SELECTMID(City,1,3)asSmallCityFROMPersons

SmallCity

Lon

New

Bei

LEN()函数

LEN函数返回文本字段中值的长度。

SQLLEN()语法

SELECTLEN(column_name)FROMtable_name

SQLLEN()实例

La

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1