- 情感问答
- 答案列表
三表关联查询: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