这个SQL Server查询中"foo"是什么意思?

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有......实际上它是做什么的?

OMG*_*ies 6

在此示例中,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)就会抛出错误.