1 sql t-sql sql-server table-alias
例如......
SELECT *
FROM ( SELECT RANK() OVER (ORDER BY stud_mark DESC) AS ranking,
stud_id,
stud_name,
stud_mark
FROM tbl_student ) AS foo
WHERE ranking = 10
Run Code Online (Sandbox Code Playgroud)
这里foo有......实际上它是做什么的?
在此示例中,foo是表别名.这是你如何使用它:
SELECT foo.*
FROM ( SELECT RANK() OVER (ORDER BY ts.stud_mark DESC) AS ranking,
ts.stud_id,
ts.stud_name,
ts.stud_mark
FROM tbl_student ts) AS foo
WHERE foo.ranking = 10
Run Code Online (Sandbox Code Playgroud)
如果没有为派生表指定表别名(AKA内联视图),SQL Server(以及MySQL)就会抛出错误.