单表查询(二)
SQL函数:
SQL 拥有很多可用于计数和计算的内建函数
SQL函数分类:
SQL Aggregate函数和SQL Scalar函数
SQL Aggregate函数(聚合函数或合计函数)
AVG()-返回平均值
COUNT()-返回行数
FIRST()-返回第一个记录的值
LAST()-返回最后一个记录的值
MAX()-返回最大值
MIN()-返回最小值
SUM()-返回总和
SQL Scalar 函数
SQL Scalar函数基于输入轴,返回一个单一的值
UCASE() -将某个字段转换为大写
LCASE()-将某个字段转换为小写
MID()-从某个文本字段提取字符,MySql中使用
SubSrting(字段,1,end)-从某个文本字段提取字符
LEN()-返回某个文本字段的长度
ROUND()-对某个数值字段进行指定小数位数的四舍五入
NOW()-返回当前的系统日期和时间
FORMAT()-格式化某个字段的显示方式
使用聚合函数进行统计
聚合函数也叫统计函数,其作用是对一组值进行计算并返回一个统计结果。
SQL AVG()函数
AVG()函数返回数值列的平均值,NULL 值不包括在计算中。
SQL AVG()语法:
SELECT AVG(column_name) FROM table_name;
实例:
当我们要查询TABLE表中成绩score这一列的平均数时,则
SELECT AVG(score) AS SCOERAverage FROM TABLE;
SQL COUNT()函数
COUNT()函数返回匹配指定条件的行数。
SQL COUNT()语法:
COUNT()函数返回指定列的值的数目,不计入NULL。
SELECT COUNT (column_name) FROM table_name;
SQL COUNT(*)语法:
COUNT(*)函数返回表中的记录数。
SELECT COUNT (*) FROM table_name;
SQL COUNT(DISTINCT column_name)语法:
注:COUNT (DISTINCT)适用于ORACLE和Microsoft SQL Server,不适用Miscrosoft Access。
COUNT(DISTINCT column_name)函数返回指定列的不同值的数目。
SELECT COUNT (DISTINCT column_name) FROM table_name;
SQL FIRST ()函数
FIRST ()函数
FIRST()函数返回指定的列中第一个记录的值
SQL SERVER语法:
SELECT TOP 1 cloumn_name FROM table_name ORDER BY column_name;
SQL LAST 函数()
LAST()函数
LAST()函数返回指定列中最后一个记录的值。
SQL LAST()语法
SELECT LAST (column_name) FROM table_name;
SQL MAX函数
MAX()函数返回指定列的最大值
SQL MAX()语法:
SELECT MAX (column_name) FROM table_name;
SQL MIN 函数
MIN()函数返回指定列的最小值
SQL MIN()语法:
SELECT MIN (column_name) FROM table_name;
SQL SUM 函数
SUM()函数返回数值列的总数
SQL SUM()语法:
SELECT SUM(column_name) FROM table_name;
Scalar函数
SQL UCASE()函数和SQL LCASE()函数,前者把字段转换为大写,后者把字段转换为小写且语法类似
SQL UCASE函数()
UCASE()函数把字段的值转换为大写
SQL UCASE()语法:
SELECT UCASE (column_name) FROM table_name;
SQL LCASE()函数
LCASE()函数把字段的值转换为小写
SQL LCASE()语法:
SELECT LCASE (column_name) FROM tabel_name;
SQL MID()函数
MID()函数 用于从文本字段中提取字符。
SQL MID()语法:
SELECT MID (column_name,start[,length]) FROM table_name;
SQL LEN()函数
LEN()函数
LEN()函数返回文本字段中值的长度。
SQL LEN()语法:
SELECT LEN (column_name) FROM table_name;
SQL ROUND()函数
ROUND()函数用于把数值字段舍入为指定的小数位数。
SQL ROUND()语法:
SELECT ROUND (column_name,decimals) FROM table_name;
SQL NOW()函数
NOW()函数返回当前系统的日期和时间。
SQL NOW()语法:
SELECT NOW() FROM table_name;
SQL FORMAT()函数
FORMAT()函数用于字段的显示进行格式化。
SQL FORMAT()语法
SELECT FORMAT (column_name,format) FROM table_name;
对数据进行分组
对查询结果进行排序
在应用中,我们需要对数据更加详细的统计,对数据按照职能等进行分类,这时可以使用GROUP BY 子句提供对数据进行分组的功能,分组的目的是细化聚合函数的作用对象,可以一次用多个列进行分组。
GROUP BY 子句:
GROUP BY 语句可以结合一些聚合函数来使用。根据一个或多个列对结果集进行分组。
GROUP BY 语法:
SELECT column_name,aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name;
HAVING 子句用于对分组后的统计结果在进行筛选,它一般和GROUP BY子句连用。
HAVING语法:
SELECT column_name,aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_nameHAVING aggregate_function(column_name) operator value;
正确理解WHERE、GROUP BY、HAVING子句的作用及执行顺序。 WHERE子句用来筛选FROM子句指定的数据源所产生的行数据。 GROUP BY子句用来对经WHERE子句筛选后的结果数据进行分组。 HAVING子句用来对分组后的统计结果进行筛选。
如果觉得《数据库技术与应用(SQL Server)——【SQL Server单表查询(二)】》对你有帮助,请点赞、收藏,并留下你的观点哦!