gpt4 book ai didi

mysql - 相关查询 - 在派生表中,我可以有很多嵌套级别吗?

转载 作者:行者123 更新时间:2023-12-05 04:23:52 25 4
gpt4 key购买 nike

主要问题和问题本身是:在派生表中,我可以有很多嵌套级别吗?

上下文:

我知道在 MySQL 中你不能有两层深度的相关子查询,但是,使用派生表似乎你可以,这是正常的还是有什么我不知道的 , 要么这 2 级的事情是否只严格影响相关子查询

SELECT table3.field1, table3.field2, (SELECT table1.field1 FROM table1 WHERE table1.a = table3.field2) AS calculated,
(SELECT COUNT(*) FROM (SELECT * FROM table2 WHERE table2.c = table3.field2) AS derived) AS calculated2
FROM table3;

最佳答案

MySQL 对嵌套子查询的层数限制为 63,与连接的表数相同。

https://github.com/mysql/mysql-server/blob/8.0/sql/sql_lex.cc#L85

static constexpr const int MAX_SELECT_NESTING{sizeof(nesting_map) * 8 - 1};

nesting_map 是定义为 uint64_t 64 位整数的类型。因此 sizeof(nesting_map) 是 8 个字节,MAX_SELECT_NESTING 计算结果为 64-1。

如果你确实超过了嵌套子查询的层数,你会得到这个错误:

ERROR 1473 (HY000): Too high level of nesting for select

关于mysql - 相关查询 - 在派生表中,我可以有很多嵌套级别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73625963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com