Mysql多对多关系利用中间表查询

    xiaoxiao2023-11-06  158

    1、多对多关系,我们举个简单的例子,一个顾客可以买多件商品,同时一类商品(指多件相同的商品)也可以也可以让多个用户购买

    下面是对应的表,用户表,商品表以及关系表,其中关系表中userId、metId的外键分别是userTable 的userId 、materialTable 的matId

            userTable                                                      materialTable                                       

     

                                   

       materil_user 

     

    如果我们要查询用户a1买了哪些商品我们可以这样

    SELECT user.userName,user.userId,mat.matName,mat.matId FROM materil_user mu LEFT JOIN userTable user on user.userId=mu.userId LEFT JOIN materialTable mat on mat.matId=mu.matId WHERE mu.userId=1

     查询结果:

    最新回复(0)