多表查詢之join關聯關係注意事項

2021-08-11 14:05:09 字數 467 閱讀 6228

今天在三表查詢時遇到乙個問題,引發了我的乙個總結---inner join,left join,right join 

比如有三個a,b,c表,其中c表的a,b表的關係表,a,b 沒有相同字段,這樣關聯查詢的時候,只能將關係表c表作為主表查詢比如:

其中role_user 是中間關係表,user表和role表無直接關係,這時候將role_user作為主表,關聯role表和user表,查出資料

反之,如果將user或role作為主表的話,時會報錯的,比如:

這樣,我總結到了,關聯必須是主表與關聯表的關聯,不能使關聯表之間的關聯,比如上面就是兩個關聯表的關聯,這樣是錯誤的。

多表Join 查詢

語法格式 from 表1 inner join 表2 on 表1.欄位號 表2.欄位號 inner join 表3 on 表1.欄位號 表3.欄位號 inner join 表4 on member.欄位號 表4.欄位號 inner join 表x on member.欄位號 表x.欄位號,只要套用該...

ThinkPHP多表查詢之join方法

現在的目的是要把article category中的name欄位匯入到article中去 表yz article如下 表yz article category如下 貼上其他幾個案例裡面的 data m groups g field g.id,g.group name,e.uid join left ...

斷關聯多表關係闡述

1 外來鍵位置 一對多 外來鍵放多的一方 一對一 從邏輯正反向考慮,如作者表與作者詳情表,作者刪除級聯刪除詳情,詳情刪除作者依舊存在,所以建議外來鍵在詳情表中 多對多 外來鍵在關係表中 2 orm正向方向連表查詢 正向 通過外來鍵字段 eg author detial obj.author 反向 通...