对于下面的命令
- MySQL 是在获取 100 行之前还是之后进行连接? 表A?
有没有办法重写查询来获取行 在进行连接之前从表 A 中获取?
SELECT A.START_TIME, A.F1, A.F2, B.STRING FROM A INNER JOIN B ON A.B_ID=B.ID WHERE A.START_TIME>= '2015-03-22 05:23:44' LIMIT 0, 100;
最佳答案
- 不,该限制将在合并数据集连接之后应用。
- 如果您只想在连接之前对表 A 应用限制,则需要使用子查询:
SELECT
T.START_TIME, T.F1, T.F2, B.STRING
FROM<br/>
(select A.START_TIME, A.F1, A.F2 from A WHERE A.START_TIME>= '2015-03-22 05:23:44' limit 0, 100) T INNER JOIN B ON T.B_ID=B.ID;
关于mysql - 带有 `from A inner join B ...LIMIT x,y` 的 MySQL 查询是在从表 A 中获取 y 行之前还是之后执行连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34052561/