mysql - SQL连接表的最大数量限制是应用于整个查询,还是单独计算子查询?

标签 mysql sql join

我已经阅读了 61 table join limit在 MySQL 5 中,但我不确定它如何应用于以下内容:

SELECT * FROM (

    SELECT * FROM tableA JOIN // Lots of other joins here...

    UNION

    SELECT * FROM tableB JOIN // Lots of other joins here...

    UNION

    SELECT * FROM tableC JOIN // Lots of other joins here...

    // etc...
)

我会在所有子查询中达到总共 61 个表的限制,还是每个 UNION 子查询达到 61 个表?

这是否因数据库而异,例如PostgreSQL、MSSQL、Oracle?

最佳答案

每个子查询似乎是 61。这是一个演示这一点的 fiddle 。

http://sqlfiddle.com/#!2/2b219/5

我有一个只有一行的简单表格:

id    | value
1     | testvalue

第一个查询只是表。

第二个查询将表与自身连接 61 次。它工作正常。

第三个查询有一个包含 61 个连接的子查询,它本身又与表连接了一次。它工作正常。

第四个查询连接表 62 次。它失败了。

关于mysql - SQL连接表的最大数量限制是应用于整个查询,还是单独计算子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953995/

相关文章:

sql - 有没有办法在oracle sql中使用varchar2字符串的一部分作为主键?

mysql - 可以选择但不能删除

java - 具有多个条件的 Hibernate Join 表,但 @WhereJoinTable 不起作用

jquery - 当 session 超时到期时,将状态发送到数据库。 ASP.Net 和 Jquery

mysql - Cx-卡住 : Showwarning AttributeError: 'NoneType' object has no attribute 'write'

包括 SP 调用的 SQL Select 语句有语法错误

sql - 在 sql select 查询中使用分隔符重新排列字符串值

mysql - 在 Propel 1.5 中执行多条件连接

php - 将 Ajax 数据中的第二个值传递给 PHP

mysql - 有没有办法在nodejs中的mysql 'insert'查询中动态设置多个VALUES?