SQL高级查询
函数
是一个可反复使用的程序段
从其他的程序段中使用调用语句来执行这段程序
好处
减少编程的工作量,提高开发效率
提高代码的可重用性
SQL Server的内部函数
可以和SQL Server的SELECT语句联合使用
可以与UPDATE和INSERT语句一起使用
进行类型转换、日期处理、数学计算,实现系统功能
系统函数
获取有关SQL Server中对象和设置的系统信息

字符串函数
控制返回给用户的字符串

字符串函数
几乎所有信息都需要转换成字符串才能正确显示
使用“+”运算符拼接两个字符串
日期函数
可以提取日期值中日、月以及年,并进行操作
日期函数
标准的日期字符串写法格式
“YYYY-MM-DD HH:MM:SS”或“YYYY-MM-DD”
聚合函数
用于对一组值执行计算,并返回单个值
如:求总和、平均值、最大或最小值等
SUM:求总和
AVG:求平均数
MAX:返回最大值
MIN:返回最小值
XOUNT:返回非空值的计数
分组查询
指将查询结果按条件分组,再使用聚合函数返回每一个组的汇总信息
SELECT select_list FROM table_name
GROUP BY column_name 对查询结果进行分组
HAVING search_conditions指定分组查询条件
比较HAVING子句和WHERE子句
| 过滤数据的时间 | 条件 | |
| WHERE子句 | 分组之前 | 不能包含聚合函数 |
| HAVING子句 | 分组之后 | 经常包含聚合函数 |
同在一个SELECT语句中,执行顺序
WHEREàGROUP BYàHAVING
数学函数
用于对数值进行代数运算

如果一个查询需要对多个表进行操作,就称为联接查询
联接查询的结果集或结果称为表之间的联接
关系数据库查询的特征
通过各个表之间共同列的关联性查询数据
表的联接类型
内联接
只返回两个数据集合之间匹配关系的行(INNER JOIN)
外联接
左外联接
结果集包括左表的所有行(LEFT JOIN)
右外联接
结果集包括右表的所有行(RIGHT JOIN)
完整外联接
返回左表和右表中的所有行(FULL JOIN)
交叉联接
返回左表与右表每个联接的所有行