MySQL JOINS没有where子句

时间:2014-09-18 06:51:48

标签: mysql sql join indexing

我知道在MySQL SQL中,只有索引在WHERE子句中使用的字段才有意义。但是如果你正在使用JOINS,我相信JOIN也可以充当WHERE子句,因为它正在比较两个字段。例如:

select b.name, p.location 
from Branch as p, Person as p
where b.id = p.id;

相同
select b.name, p.location
from Branch as p
INNER JOIN Person as p ON (p.id = b.id);

所以我的理解是INNER JOIN = WHERE子句在某种程度上,或者由MySQL翻译,因此可以索引,即JOIN上使用的列被索引(如果他们在它们上创建了索引) 。我的理解是否正确?

1 个答案:

答案 0 :(得分:0)

Where和Join非常相似。但是,Join更多地位于表级别,而更多位于列级别。是的,你是正确的。