[英]alternative of left join OR condition
left join with or condition 會降低查詢性能,所以什么可以替代 left join 或 condition
select tableb.columnA, tableb.columnB,tablec.id,tabled.id,tablee.id
from tableA tableA
LEFT JOIN tableb tableb ON ((tableb.columnA = tableA.id)
OR (tableb.columnB = tableA.id))
LEFT JOIN tablec tablec ON tablec.Id = tableb.columnA
LEFT JOIN tabled tabled ON tabled.id = tableb.columnB
LEFT JOIN tablee tablee ON tablee.Id= tableb .id
我將從在單獨的join
中再次在columnb
上加入tableb
開始。
在其他連接上,您可以使用ISNULL
function 像tablec.Id = ISNULL(tableba.columnA, tablebb.columnA)
。
取決於您需要什么以及您可以使用UNION
/ UNION ALL
或COALESCE
從適當的tableb
實例獲取數據的數據。
並確保tableb
中的兩列都被索引覆蓋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.