SQL 学习笔记 自连接
自连接是指一个表与其自身进行连接。
举一个简单的实例,一个学生课程成绩表StudentScore,其中包括学生编号/studentid,所选课程/coursename,课程成绩/score
选择每门课程的前两名学生,并将他信息输出出来
此时你的第一反应就是要把学生按所选课程进行分组,然后比较获得每门课程里面前两位的学生
分组的方式有group by,但是使用group by时,必须聚合函数,所以不适合用在此处
另外一种方式就是使用自连接
sql代码如下:
Select * from StudentScore as a
where a.studentid in (select top 2 b.studentid from StudentScore as b where a.coursename=b.coursename order by scorce desc)
自连接可以通俗的理解为可以按照某个字段进行分组。
相关文档:
1, 什么是统计信息
以下是官方的对统计信息的描述:
按照默认设置,如果表中的某列没有索引,则SQL Server会自动为该列创建统计。然后,查询优化器评估该列中数据分布范围的统计信息,以选择一个更为有效的查询处理方案。分辨自动创建的统计很简单,在SQL Serve ......
◆1.DBCC CacheStats :显示存在于当前 buffer Cache 中的对象的信息,例如 :hitrates 编译的对象和执行计划
DBCC CACHESTATS
从这个命令可以得到一些关键的统计信息:
Hit Ratio:显示特定对象可以在Sql Server的缓存中被命中的百分比,这个数值越大,越好
Object Count:显 ......
1、创建安装项目“Setup1”安装项目
在“文件”菜单上指向“添加项目”,然后选择“新建项目”。
在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在&ldquo ......
将列转换为行,相当于将表结构旋转90度
T_Student 表
Stud_ID
Sex
Name
1
男
Tom
2
女
Anne
3
男
Jack
执行: Exec proColumnToRow ’T_Student’,’Name’,’ New_ID’
转换后的表
New_ID
Tom
Anne
Jack
Stud_ID
1
2
3
Sex
男
女
男
& ......