经典sql函数大全,实例与应用

 百家乐-数据     |      2020-02-01 20:26

示范数据库

在本教程中,大家将利用路人皆知的 Northwind 样板数据库。

下边是选自 "Products" 表的数据:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 21.35
5 Chef Anton's Gumbo Mix 2 2 36 boxes 25

 

SQL GROUP BY 语法

  SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name

AVG(卡塔尔 函数再次来到数值列的平均值。

SQL COUNT(column_name) 实例

  我们全部下列 "Orders" 表:   

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

近期,大家愿意总计客商 "卡特" 的订单数。 大家接纳如下 SQL 语句:
  SELECT COUNT(CustomerState of Qatar AS CustomerNilsen FROM OrdersWHERE Customer='Carter'以上 SQL 语句的结果是 2,因为顾客 Carter 共有 2 个订单:

CustomerNilsen
2

  SQL COUNT(*卡塔尔国 实例 要是我们简要 WHERE 子句,比方那样:
  SELECT COUNT(*State of Qatar AS NumberOfOrders FROM Orders结果集相符那样:

NumberOfOrders
6

那是表中的根据地数。

 

SQL COUNT(*) 语法

  COUNT(*State of Qatar 函数重回表中的记录数:
  SELECT COUNT(*) FROM table_name

SELECT AVG(column_name) FROM table_name

SQL FIRST() 实例

  大家具备上面这么些 "Orders" 表:   

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

前几天,大家期望物色 "OrderPrice" 列的首先个值。
  大家使用如下 SQL 语句:
  SELECT FI宝马X5ST(OrderPrice卡塔尔 AS FirstOrderPrice FROM Orders结果集形似那样:   

FirstOrderPrice
1000

SQL AVG() 实例

下边的 SQL 语句从 "Products" 表的 "Price" 列获取平均值:

SELECT AVG(Price) AS PriceAverage FROM Products;

上边包车型大巴 SQL 语句选拔价格抢先平均价值的 "ProductName" 和 "Price" 记录:

SELECT ProductName, Price FROM ProductsWHERE Price>(SELECT AVG(Price) FROM Products);

原稿地址:

 

有关阅读:

  • SQL COUNT(卡塔尔国 函数实例与利用
  • SQL FI奥迪Q5ST(State of Qatar 函数应用实例
  • SQL LAST() 函数
  • SQL MAX(State of Qatar 函数实例安详严整
  • SQL min(卡塔尔 函数实例
  • SQL sum(State of Qatar 函数用法
  • SQL GROUP BY 实例
  • SQL HAVING 实例应用
  • SQL UCASE(State of Qatar 函数实例
  • SQL LCASE(卡塔尔(قطر‎ 函数实例
  • SQL MID(卡塔尔国 函数实例
  • SQL len(卡塔尔(قطر‎ 函数应用实例
  • SQL round(卡塔尔国 函数实例疏解
  • SQL NOW() 函数
  • SQL FORMAT(卡塔尔国 函数实例
  • SQL 常用言语及语法

SQL LEN() 实例

  大家全部上边那些 "Persons" 表:   

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

今后,大家愿意获得 "City" 列中值的长短。
  大家应用如下 SQL 语句:
  SELECT LEN(City卡塔尔 as LengthOfAddress FROM Persons结果集相通那样:   

LengthOfCity
6
8
7

SQL AVG() 语法

SQL COUNT(DISTINCT column_name) 语法

  COUNT(DISTINCT column_name) 函数再次来到内定列的分歧值的多少:
  SELECT COUNT(DISTINCT column_name) FROM table_name注释:COUNT(DISTINCT卡塔尔 适用于 ORACLE 和 Microsoft SQL Server,可是无计可施用于 Microsoft Access。

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) 返回某个被请求的文本域的右侧部分
ROUND(c,decimals) 对某个数值域进行指定小数位数的四舍五入
MOD(x,y) 返回除法操作的余数
NOW() 返回当前的系统日期
FORMAT(c,format) 改变某个域的显示方式
DATEDIFF(d,date1,date2) 用于执行日期计算

MIN() 函数

  MIN 函数重临一列中的最小值。NULL 值不包涵在计算中。   

GROUP BY 语句

  GROUP BY 语句用于结合合计函数,依据三个或七个列对结果集进行分组。   

SQL LAST() 实例

  大家具备上面那几个 "Orders" 表:   

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

近日,大家盼望物色 "OrderPrice" 列的最后叁个值。
  大家选用如下 SQL 语句:
  SELECT LAST(OrderPrice卡塔尔 AS LastOrderPrice FROM Orders结果集肖似那样:   

LastOrderPrice
100

SQL LCASE() 语法

  SELECT LCASE(column_name) FROM table_name

FORMAT() 函数

  FORMAT 函数用于对字段的突显进行格式化。   

SQL FIRST() 语法

  SELECT FIRST(column_name) FROM table_name

SQL AVG() 语法

  SELECT AVG(column_name) FROM table_name

SQL LAST() 语法

  SELECT LAST(column_name) FROM table_name

ROUND() 函数

  ROUND 函数用于把数值字段舍入为指定的小数位数。   

SQL FORMAT() 实例

  大家具有上面那个 "Products" 表:   

Prod_Id ProductName Unit UnitPrice
1 gold 1000 g 32.35
2 silver 1000 g 11.56
3 copper 1000 g 6.85

方今,我们期待展现每一天日期所对应的名号和价格(日期的显示格式是 "YYYY-MM-DD")。
  我们使用如下 SQL 语句:
  SELECT ProductName, UnitPrice, FORMAT(Now(卡塔尔,'YYYY-MM-DD, 'State of Qatar as PerDateFROM Products结果集相通那样:   

ProductName UnitPrice PerDate
gold 32.35 12/29/2008
silver 11.56 12/29/2008
copper 6.85 12/29/2008

LAST() 函数

  LAST(卡塔尔(قطر‎ 函数再次来到钦点的字段中最终二个记下的值。
  提示:可利用 O福睿斯DER BY 语句对记录举办排序。   

例子 1

  将来,大家期待总计 "OrderPrice" 字段的平均值。
  大家选取如下 SQL 语句:
  SELECT AVG(OrderPrice卡塔尔国 AS OrderAverage FROM Orders结果集相像那样:   

OrderAverage
950

SQL UCASE() 实例

  大家具有下边那个 "Persons" 表:   

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

明日,我们期望选用 "LastName" 和 "FirstName" 列的内容,然后把 "LastName" 列转变为大写。
  我们应用如下 SQL 语句:
  SELECT UCASE(LastName卡塔尔(قطر‎ as LastName,FirstName FROM Persons结果集相同那样:   

LastName FirstName
ADAMS John
BUSH George
CARTER Thomas

例子 2

  今后,大家盼望找到 OrderPrice 值高于 OrderPrice 平均值的客商。
  大家运用如下 SQL 语句:
  SELECT Customer FROM OrdersWHERE OrderPrice>(SELECT AVG(OrderPrice卡塔尔国 FROM Orders卡塔尔(قطر‎结果集相通那样:   

Customer
Bush
Carter
Adams

COUNT() 函数COUNT(卡塔尔 函数再次来到相配钦点条件的行数。

SQL MIN() 实例

  我们全数上面这一个 "Orders" 表:   

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

前段时间,大家愿意物色 "OrderPrice" 列的超小值。
  大家应用如下 SQL 语句:
  SELECT MIN(OrderPrice卡塔尔 AS SmallestOrderPrice FROM Orders结果集近似那样:   

SmallestOrderPrice
100

MS Access 中的合计函数

  

函数 描述
AVG(column) 返回某列的平均值
COUNT(column) 返回某列的行数(不包括 NULL 值)
COUNT(*) 返回被选行数
FIRST(column) 返回在指定的域中第一个记录的值
LAST(column) 返回在指定的域中最后一个记录的值
MAX(column) 返回某列的最高值
MIN(column) 返回某列的最低值
STDEV(column)  
STDEVP(column)  
SUM(column) 返回某列的总和
VAR(column)  
VARP(column)  

NOW() 函数

  NOW 函数重回当前的日子和岁月。   

SQL MID() 实例

  我们有着下面那些 "Persons" 表:   

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

当今,我们期望从 "City" 列中领取前 3 个字符。
  我们使用如下 SQL 语句:
  SELECT MID(City,1,3卡塔尔(قطر‎ as SmallCity FROM Persons结果集相符那样:   

SmallCity
Lon
New
Bei

SQL MAX() 实例

  大家有着上边那一个 "Orders" 表:   

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

昨日,大家期望物色 "OrderPrice" 列的最大值。
  我们使用如下 SQL 语句:
  SELECT MAX(OrderPrice卡塔尔(قطر‎ AS LargestOrderPrice FROM Orders结果集相近那样:   

LargestOrderPrice
2000

SQL COUNT(DISTINCT column_name) 实例

  现在,我们希望总计 "Orders" 表中分化顾客的数额。
  大家接受如下 SQL 语句:
  SELECT COUNT(DISTINCT Customer卡塔尔 AS NumberOfCustomers FROM Orders结果集肖似那样:   

NumberOfCustomers
3

那是 "Orders" 表中不一样顾客(Bush, Carter 和 亚当斯)的多寡。
  FIKugaST(卡塔尔 函数FI奥迪Q3ST(卡塔尔(قطر‎ 函数重临钦点的字段中第贰个记录的值。
  提醒:可接纳 O凯雷德DERAV4 BY 语句对记录实行排序。   

SQL MIN() 语法

  SELECT MIN(column_name) FROM table_name注释:MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的参天或最低值。

AVG 函数

  

SQL MID() 语法

  SELECT MID(column_name,start[,length]) FROM table_name

参数 描述
column_name 必需。要提取字符的字段。
start 必需。规定开始位置(起始值是 1)。
length 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。

SQL NOW() 实例

  我们具备上面这么些 "Products" 表:   

Prod_Id ProductName Unit UnitPrice
1 gold 1000 g 32.35
2 silver 1000 g 11.56
3 copper 1000 g 6.85

今天,大家愿意彰显当天的日期所对应的称谓和价格。
  大家应用如下 SQL 语句:
  SELECT ProductName, UnitPrice, Now(卡塔尔国 as PerDate FROM Products结果集雷同这样:   

ProductName UnitPrice PerDate
gold 32.35 12/29/2008 11:36:05 AM
silver 11.56 12/29/2008 11:36:05 AM
copper 6.85 12/29/2008 11:36:05 AM
上一篇:没有了 下一篇:没有了