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

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

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

        userTable                                                      materialTable                                       

 

Mysql多对多关系利用中间表查询_第1张图片                    Mysql多对多关系利用中间表查询_第2张图片           

   materil_user 

 Mysql多对多关系利用中间表查询_第3张图片

如果我们要查询用户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

 查询结果:

Mysql多对多关系利用中间表查询_第4张图片

你可能感兴趣的:(mysql,Mysql多对多关系,中间表查询)