apply操作符
使用 APPLY 運算符可以為實現查詢操作的外部表表達式返回的每個行調用表值函數。表值函數作為右輸入,外部表表達式作為左輸入。通過對右輸入求值來獲得左輸入每一行的計算結果,生成的行被組合起來作為最終輸出。APPLY 運算符生成的列的列表是左輸入中的列集,後跟右輸入返回的列的列表。
還有一種更古老的方法,但是必須給test4socre表添加標識列,新表結構如下:
? 1 2 3 4 5 6 create table test4Score ( id int identity(1,1), test4id int, score int )
新數據:
id test4id score
1 1 100
2 1 90
3 1 90
4 1 80
5 2 90
6 2 82
7 2 10
用帶子查詢的SQL語句:
? 1 2 3 4 select a.name,b.score from test4 a inner join test4score b on a.id=b.test4id where b.id in ( select top 2 id from test4score where test4id=b.test4id order by score desc )
結果:
name score
LeeWhoeeUniversity 100
LeeWhoeeUniversity 90
LeeWhoee 90
LeeWhoee 82