- 情感問答
- 答案列表
三表關聯查詢:mysql三表關聯查詢[朗讀]
你是想三個表關聯是吧,就是說通過一個主表的id能夠獲得三個表的個欄位數據.首先你得先確定這三個表示關聯的,就是說有沒有主鍵--外鍵,有的話ok,就可以連接表了.可能你的意思是三個id連結,那就用left、right、innerjoinon來寫(具體區別還是您自己看一下).select*from表3leftjoin表1on表3.typeid=表1.typeidleftjoin表2on表1.userid=表2.userid;其中left、right、innerjoin可進行替換(具體區別還是您自己看一下)。
這個你要去手冊裡面查看在model見兩個對應的表文件然後主表裡面關聯一下(查看手冊)-。
select*froma,b,cwherea.column1=b.column1andb.column2=c.column2當然.左連接也是可以的關聯條件必須>=表數-1。
關係型資料庫中,每個表之間必需有一個或多個列與其它的表有關係(如相等),才能把兩個表合在一起查詢.你的用戶表下沒與作者表或作品表有關係的列,所以沒辦法連在一塊查的,就算連在一塊查也是沒意義的.除非你的用戶表下再加一個作品id,這樣就可以關連起來查詢了selecta.用戶名,c.作品名字,b.作者名,c.出版社,from用戶表asajoin作品表ascona.作品id=c.作品idjoin作者表asbonc.作者id=b.作者idwherea.用戶名='xxx';
select*fromsubjectajoinattachmentbona.tid=b.tidjoinmessageconb.tid=c.tid或者select*fromsubjecta,attachmentb,messagecwherea.tid=b.tidandb.tid=c.tid