开发者社区 问答 正文

数据库多对多关联的问题

现有基础表用户表(user),每个用户的属性如图片URL、地址、职业与用户都是多对多的关系即一个用户可有多个图片、地址和职业。
对应的属性表为图片表(imgurl)、地址表(address)、职业表(profession),用户表user中不与属性表直接关联,
查询用户的信息时就需要关联中间表,用户图片表(user_imgurl),用户地址表(user_address),用户职业表(user_profession)
一次查询出某个用户所有属性信息的sql怎么写,现有表设计是否合理,如何优化?

展开
收起
落地花开啦 2016-02-29 18:10:38 2390 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    假设user_id每张表都有

    select * from user a  
    left join user_imgurl b on a.user_id=b.user_id 
    left join user_address c on a.user_id=c.user_id 
    left join user_profession d on a.user_id=d.user_id 
    left join imgurl e on e.uer_imgurl=b.uer_imgurl  
    left join on address f on f.user_address=c.user_address  
    left join profession g on g.user_profession=d.user_profession 
    2019-07-17 18:50:45
    赞同 展开评论
问答分类:
问答地址: