mysql - 在 MySQL 中使用派生表的查询中的这个 X 是什么意思?

标签 mysql

我正在考虑使用我认为在 MySQL 中称为“派生表”的东西,并注意到我的查询只有在我有这个 x 时才有效。在FROM()之后声明:

SELECT * FROM( <inner select> ) x ORDER BY id ASC
// -----------------------------^

我环顾四周并阅读了几篇关于派生表的文章,但没有一篇提到这一点(我看到的所有示例甚至都没有使用它,尽管我的测试在没有它的情况下返回 0 行)。我在 an answer to one of my previous questions 中遇到过它.

如果有任何不同,我正在通过 PDO 运行查询。

最佳答案

x 是子数据集的别名前缀。就像从表格中挑选一样。

SELECT test_id from tableA x;

将使您的结果可以通过 x.test_id 访问。这有利于缩短表格和汇总子数据集。

SELECT * FROM (SELECT test_id FROM tableA) x;

会提供x.test_id

Jonathan Leffler 的补充说明:SQL 标准规定别名是强制性的。

请参阅此博客文章了解别名的优点:http://openquery.com/blog/good-practice-bad-practice-table-aliases

关于mysql - 在 MySQL 中使用派生表的查询中的这个 X 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18692573/

相关文章:

java.sql.SQLException : Before/after start of result set

javascript - 使用php将印度标准时间转换为mysql日期时间格式

MYSQL:根据if语句两次获取结果

php - 在一段时间内插入忽略效率

java - 如何使用 Hibernate JPA 线程安全地访问数据库?

连接 MySQL 的 JAVA Bukkit 插件

java - 再一次 => "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server... "

mysql - WordPress 中的自定义表单并将值存储到自定义数据库中

php - 使用 PHP 从 mySQL 导出 XML

php - 使用户能够双击表格文本来输入更改;数据库根据这些更改进行更新