连接多列-单个查询

时间:2019-01-31 06:56:35

标签: sql oracle join

我希望加入两个表。一个表具有一个ID,另一个表具有ID及其对应的值。我正在使用4个联接来获取4列的值。查询的费用太高。有降低成本的方法吗?

示例代码。

select b.empname, c.deptname, d.supervisorname 
from idtable A, lookuptable B,lookuptable C,lookuptable D
where b.lookuptable =a.empid  
and c.lookuptable=a.empdeptid 
and d.lookuptable = a.empsupervisorid;

1 个答案:

答案 0 :(得分:0)

尝试使用提示。如果lookuptable表不是太大,您可以尝试

 /*+ CACHE(lookuptable)*/

或者,您可以使用:

/*+ USE_HASH(idtable lookuptable)*/