(在oracle中)在性能上有区别吗
Select * from Table1 T1
Inner Join Table2 T2 On T1.ID = T2.ID
And
Select * from Table1 T1, Table2 T2
Where T1.ID = T2.ID
?
(在oracle中)在性能上有区别吗
Select * from Table1 T1
Inner Join Table2 T2 On T1.ID = T2.ID
And
Select * from Table1 T1, Table2 T2
Where T1.ID = T2.ID
?
当前回答
不要忘记在Oracle中,如果连接键属性在两个表中命名相同,你也可以这样写:
select *
from Table1 inner join Table2 using (ID);
当然,这也有相同的查询计划。
其他回答
从功能上讲,它们是相同的。不过,我同意使用连接更好地描述您想要做的事情。很多时候,我认为我知道我想如何查询一些东西,直到我开始做连接,并意识到我想做一个不同于我头脑中的原始查询。
不要忘记在Oracle中,如果连接键属性在两个表中命名相同,你也可以这样写:
select *
from Table1 inner join Table2 using (ID);
当然,这也有相同的查询计划。
它们都是连接,做同样的事情。
在MySQL查询中,为什么使用join而不是where?
如果查询优化器的工作是正确的,那么这些查询之间应该没有区别。它们只是指定相同期望结果的两种方法。
使用JOIN可以使代码更容易阅读,因为它是自解释的。
速度上没有区别(我刚刚测试过),执行计划是一样的。