一个表与自身进行连接,称为自连接
问题的提出:一个网友提出这样一个SQL题目,说自己想了很久没解决,我一看,这不是很简单吗
可是自己在查询分析器调试了半天原来问题并不是那不简单
有一个学生表,里面有 学号 功课编号
学生成绩三个字段.用一个SQL查询语句得出每门功课成绩最好的前两名
学号 功课编号 学生成绩
1 1 99
2 1 98
3 1 100
4 2 88
5 2 87
6 2 88
7 3 99
8 3 88
9 3 100
解决方法
SELECT DISTINCT 学生表1.*
FROM 学生表 学生表1 INNER JOIN
学生表 学生表2 ON 学生表1.学号 IN
(SELECT TOP 2 学生表.学号
FROM 学生表
WHERE 学生表.功课编号 = 学生表1.功课编号
ORDER BY 学生成绩 DESC)
查询结果
学号 功课编号 学生成绩
1 1 99
2 1 98
4 2 88
6 2 88
7 3 99
9 3 100
查找不同课程成绩相同的学生的学号、课程号、学生成绩
问题的提出:一个网友提出这样一个SQL题目,说自己想了很久没解决,我一看,这不是很简单吗
可是自己在查询分析器调试了半天原来问题并不是那不简单
有一个学生表,里面有 学号 功课编号
学生成绩三个字段.用一个SQL查询语句得出每门功课成绩最好的前两名
学号 功课编号 学生成绩
1 1 99
2 1 98
3 1 100
4 2 88
5 2 87
6 2 88
7 3 99
8 3 88
9 3 100
解决方法
SELECT DISTINCT 学生表1.*
FROM 学生表 学生表1 INNER JOIN
学生表 学生表2 ON 学生表1.学号 IN
(SELECT TOP 2 学生表.学号
FROM 学生表
WHERE 学生表.功课编号 = 学生表1.功课编号
ORDER BY 学生成绩 DESC)
查询结果
学号 功课编号 学生成绩
1 1 99
2 1 98
4 2 88
6 2 88
7 3 99
9 3 100
查找不同课程成绩相同的学生的学号、课程号、学生成绩
[SP3267]DQUERY
扩展欧几里得算法详解(exgcd)
[CTSC2018]混合果汁
极角排序那些事
向量的点乘与叉乘学习笔记
[APIO2014]序列分割
CF1148D-Dirty Deeds Done Dirt Cheap
CF176E Archaeology(set用法提示)
【网络流24题】最长不下降子序列问题