我正在考虑使用我认为在 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/