table ON 语句为假时是否加入?

table join or not when ON statement false?

我有一个 sql 查询(程序的一部分),如下所示:-

DECLARE ab INT;
SET ab = 1;
SELECT * FROM `table1` LEFT OUTER JOIN
`table2` ON
`table1`.`columnfromtable1`=`table2`.`columnfromtable2` AND ab=0;

我的问题是“sql 引擎的第一份工作是什么?”

  1. 加入这些表格
  2. 正在执行 ON 子句并希望更新列的 NULL

或者

  1. 正在执行 ON 子句
  2. 想跳过JOIN

每次您想知道是否使用索引或如何执行查询时,您应该使用 explain syntax.

当 EXPLAIN 与可解释的语句一起使用时,MySQL 显示来自优化器的有关语句执行计划的信息。

这对任何查询都有效,不仅是这个。

你只需要了解EXPLAIN Output Format