SQL Server笔记(五)
文献种类:专题技术文献;
开发工具与关键技术: VS、JS
作者:方建恒 ;年级:20级 ;撰写时间: 2022 年 4 月 28日
今天我继续给大家分享一下我总结的一些SQL Server的笔记,
接下来我们来了解一下SQL Server中的集合运算符:
- 并集(union):用于将两个select语句的结果组合到一个结果集中,
该结果集包括属于union中select语句的所有行。用法如下:
注:两个查询中列的数量必须相同,并且相应列的数据类型必须相同或兼容。
UNION 运算符会从结果集中删除所有重复的行。如果你要保留重复的行,
则需要明确指定all关键字。
在表连接中,join会水平附加结果集,而union则会垂直附加结果集。
2. 交集(Intersect):用于组合两个或多个查询的结果集,并返回两个查询输出的重复的行。
用法如下:
注:和并集差不多,交集的两个查询必须具有相同的列数和顺序,
并且相应列的数据类型必须相同或兼容。
3. 差集(except):用于比较两个查询的结果集,
并返回第一个查询中不是由第二个查询输出的不同行。
即A1中有1,2,3;A2中有2,3,4,它们的差集就是1;用法如下:
注:在查询差集中它会删除重复行,而且差集的结果取决于两个查询的前后关系。
当表1与表2比较某行记录是否相等时,会认为取值为NULL的列是相等的列。
4. 集合运算符的优先级:
优先级:Intersect > union = except。
当同时出现多个集合运算符时,它会首先计算Intersect,
然后从左到右的出现顺序依次处理优先级的相同的运算。
当然你可以使用圆括号控制集合运算的优先级,它具有最高的优先级。
接下来我们来了解一下SQL的分组语句(group by):
group by语句是将查询结果按某一列或多列的值分组的,值相等的为一组。
用法如下:
注:你在进行查询时所查询的列必须包含在聚合函数或者group by语句内,
否则SQL会报错,如下图:
要想解决的话只需要在group by语句后面添加上缺少的列就可以了。
以上就是今天分享的部分我的SQL Server的笔记。