oracle中的內連接和equi連接有什麼區別,下列哪個查詢可以提供高性能?oracle中的內連接和equi連接有什麼區別,下列哪個查詢可以提供高性能?
select e.*,d.*
from emp e,dept d
where d.DNAME='ACCOUNTING' and e.DEPTNO=d.DEPTNO --(equi join)
select e.*,d.*
from emp e
inner join dept d on e.deptno=d.deptno
where d.dname='ACCOUNTING'; --(inner join)
我個人認爲將過濾器條件(例如d.dname ='ACCOUNTING')放入JOIN部分是一種糟糕的做法。它可能不會影響結果(如果由於某種原因改變爲和外連接,它會影響它),但它會使查詢更難以閱讀,特別是如果在各種表上存在過濾器,因爲過濾條件遍佈所有不同的ON子句。 – fhossfel
我同意,我認爲最好理解這兩個版本實際上是相同的,但我甚至在內部連接上也使用where語句。我只在on子句後面加入了比較兩個表的條件。 – WaLinke
非常感謝您的回答 –