SELECT TOP 10 *
FROM (SELECT TOP 20 *
FROM news
WHERE class = 001
ORDER BY pubdate DESC)
ORDER BY pubdate
發現 SQL 窗格執行後在將原始的 SQL 改動了,自動增加了一個 DERIVEDTBL ,變成如下這樣了:
SELECT TOP 10 *
FROM (SELECT TOP 20 *
FROM news
WHERE class = 001
ORDER BY pubdate DESC) DERIVEDTBL
ORDER BY pubdate
這個 DERIVEDTBL 還真讓我費了一點勁,以為是新的保留關鍵字,可是在 SQL Server 的 Online Help 中沒有找到,在 Google 也沒找著這個單詞的解釋。
後來無意中把 DERIVEDTBL 改成 Temp 發現也能用,汗~~~,原來是 SQL 窗格只是給子查詢增加了一個別名而已。
唉,真是吃了沒文化的虧了,誰讓咱 SQL Server 學/用得少呢。
建議把這個作為招聘 SQL Server 相關人員的一個面試題。
出處:http://blog.joycode.com/moslem/archive/2004/06/03/23561.aspx
請先 登入 以發表留言。