SQL查询语句中子查询后的别名a是什么含义?
SQL语句中末尾a的含义
你给出的SQL语句末尾的a是子查询别名,属于SQL语法中的强制要求:
- 所有放在
FROM子句后的嵌套子查询(也叫派生表、临时结果集),都必须指定一个别名,方便外层查询引用这个子查询返回的内容。
这段SQL的完整执行逻辑拆解
- 首先运行括号内的子查询:统计
screenings表中每个film_id对应的排片记录条数,将统计结果的字段命名为id,生成一个临时结果集 - 外层查询给这个临时结果集起别名
a,再从a中统计所有记录数的最小值和最大值
别名可以自定义为任意合法的SQL标识符,换成
temp_film_count、t1这类名称也完全可以生效,这里用a只是最简便的简写写法。如果省略这个别名,数据库会直接抛出语法错误,比如MySQL的报错信息为Every derived table must have its own alias,明确要求派生表必须配置别名。
内容的提问来源于stack exchange,提问作者sumit bhardwaj
相关产品推荐
相关产品推荐

