繁体   English   中英

为什么这样的语句在MySQL中有效?

[英]Why does such statement work in MySQL?

我正在使用MySQL 5.6.23-enterprise-commercial-advanced。 我有一个名为FILE的表,如下所示:

+---------+
| file_id |
+---------+
|      11 |
|      12 |
|      13 |
|      14 |
+---------+

我尝试运行一个查询SELECT A.FILE_ID FROM FILE A; root @ localhost下 ,它已成功执行。 但是没有像A这样的表(任何表都可以),因此为什么可以执行它,并且看起来与SELECT FILE.ID FROM FILE;具有相同的效果SELECT FILE.ID FROM FILE; 我正在做一个现有项目,我已经看到了。 使用它有什么好处吗?

因为为表赋予别名A所以您实际上是在select语句期间临时重命名表。

有关更多信息,请参见链接-MYSQL ALIAS

在您的情况下, A只是表文件的别名。 这就是查询有效的原因。

在此处阅读有关SQL别名的更多信息:

SQL别名用于临时重命名表或列标题。

您的表名是FILEA是表FILE的别名。

您可以在select语句中使用Alias进行阅读:

MySQL别名

别名用于临时重命名表或列的名称,以便更好地理解。

在您的情况下, A作为表的别名。 因此,您必须在FILEA之间编写as 所以现在您的查询是这样的

SELECT A.FILE_ID FROM FILE as A;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM