針對於多個inner join或者left join多條件查詢的時候,各個inner join 的指向問題
阿新 • • 發佈:2019-02-07
先看一段程式碼吧:
<span style="font-size:18px;">SELECT * FROM
GOODS1 FR
LEFT JOIN GOODS2 MH ON MH.RETURN_NO = FR.ACT_APPL_COLUMN_1
INNER JOIN GOODS3 ML ON MH.HEADER_ID = ML.HEADER_ID
LEFT JOIN GOODS4 ss ON ss.lineId = MH.lineId </span>
第一個left join 只是針對 GOODS2 和GOODS1,而第二個inner join 是針對GOODS3 和GOODS3前面的所關聯查詢的結果,
第三個left join 針對的是GOODS4和GOODS4前面的所關聯查詢的結果,同理....
借用別人的一段寫法:
INNER JOIN 連線兩個資料表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號
INNER JOIN 連線三個資料表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號) INNER JOIN 表3 ON 表1.欄位號=表3.欄位號
INNER JOIN 連線四個資料表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.欄位號=表2.欄位號) INNER JOIN 表3 ON 表1.欄位號=表3.欄位號) INNER JOIN 表4 ON Member.欄位號=表4.欄位號