在MySql中联接表的过程中是否使用where子句



假设我们有以下查询:

SELECT *
FROM A
LEFT JOIN B USING (k)
WHERE A.c = 'SOME VALUE'

知道kc是索引列。问题是:MySql是在连接两个表时使用WHERE子句条件,还是只连接它们然后应用该条件。此外,它将如何促进c列上索引的使用?

JOIN操作在各种SQL语言中的WHERE子句之前执行(我认为在MySQL中也是如此,但找不到官方文档(。这意味着表确实是先创建的,然后才使用WHERE子句进行筛选。从逻辑上讲,你需要有一个";结果集"/首先联接表,然后才能应用筛选选项。

相关内容

最新更新