【无标题】

本文详细解析SQL Server查询的基石,包括基础查询语句、多表连接、分组与聚合、子查询、ALL与EXISTS运算符,以及不同类型的连接(内连接、左连接、右连接、全连接)。深入理解如何运用这些技巧进行高效数据筛选和分析。
摘要由CSDN通过智能技术生成

SQL Server 查询

查询的基本公式是select要查询的字段 from 要查的表
(要查的表可以是多个表逗号隔开) where 查询的数据要满足什么样的条件(条件可以是多个,条件之间用and连接)
group by 分组依据(可选,视情况而定,如需要将结果依据某个字段分组;依据某条数据的某个字段,值不同的分组,查出的数据集合中有多少该字段不同的值,就分为多少不同的值就分为多少组,如果有多个字段作为分组依据,优先级按顺序)
order by 排序依据(可选,视情况而定,如需要将结果依据某个字段排序;依据某个字段排序,依据字段值的大小排序, 如需要依据字段分组)
having 查询的数据要满足什么样的条件要,和where类似,它有一些特殊功能和一些条件。
1,having 与where同用,where要放到group by 前
2,having必须与group by一起用,并且group by 要放到3,having前面。
having前面不能加order by ,可以在后面加
4,having 可以判断聚合函数求出的值
查询的字段中可以包含聚合函数,聚合函数用于一些值的计算,聚合函数有一些需要注意的点
1,聚合函数里不能包含子查询。
2,聚合函数里可以使用case when 运算

连接,包括 [内连接],[左连接],[右连接],[全外连接]和[交叉连接]
1, inner join 内部联接子句用于查询来自两个或多个相关表的数据子句将表 T1 的每一行与表 T2 的行进行比较,以查找满足连接字段的所有行对。
2, left join 它返回左表中的所有行和右表中的匹配行
如果在右表中找不到匹配的行,则使用 NULL 代替显示,将表 T1 的每一行与表 T2 的行进行比较,以查找满足连接字段的所有行对。
3,right join 它返回右表中的所有行和左表中的匹配行
如果在右表中找不到匹配的行,则使用 NULL 代替显示,将表 T2 的每一行与表 T1 的行进行比较,以查找满足连接字段的所有行对。
4,[INNER | LEFT] JOIN自联接用于将表连接到自身(同一个表)。 它对于查询分层数据或比较同一个表中的行很有用。 自联接使用内连接或左连接子句。 由于使用自联接的查询引用同一个表,因此表别名用于为查询中的表 分配不同的名称。
5,full outer join当左表或右表中存在匹配项时,该命令将返回所有行
子查询,子查询可以嵌套在另一个子查询中,SQL Server最多支持32个级别
ALL 运算符是一个逻辑运算符,它将标量值与子查询返回的单列值列表进行比较。
EXISTS 运算符是一个逻辑运算符,用于检查子查询是否返回任何行。 如果子查询返回一行或多行,则 EXISTS 运算符返回 TRUE 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值