只是想知道......
之间有什么区别select
a.field1, b.field1
from
table1 a
inner join
table2 b on a.field2 = b.field2
和
select
a.field1, b.field1
from
table1 a
inner join
(select field1, field
from table2 ) b on a.field2 = b.field2
我在我正在处理的其中一个遗留系统中看到过这个SQL查询。我立即检查了执行计划以进行比较,但结果似乎相同。
抱歉这么无知。 :)
答案 0 :(得分:1)
我认为我们会用它来优化效果。
参考您的第一个查询;
select a.field1, b.field1
from table1 a
inner join table2 b
on a.field2 = b.field2
实际上你在table2中只使用了2列 (b.field1显示,b.field2连接表) 因此,不使用检索table2中的所有字段。 如果table2由高度加权的列组成(例如:image,blob),则查询响应时间会变慢。