新手mysql加入问题
我有:新手mysql加入问题,mysql,left-join,join,Mysql,Left Join,Join,我有: 一个优惠券表,其列名为owner\u id和id 以及一个名为id和website\u url的列的owners表 我想只使用coups.id(在php变量$coupon\u id中提供)获取所有者.website\u url 这是我最好的机会: SELECT owners.website_url FROM owners o LEFT JOIN coupons c ON o.id = c.owner_id WHERE c.id='$coupon_id' LIMIT 1 这是正确的吗
- 一个
表,其列名为优惠券
和owner\u id
id
- 以及一个名为
和id
的列的website\u url
表李>owners
coups.id
(在php变量$coupon\u id
中提供)获取所有者.website\u url
这是我最好的机会:
SELECT owners.website_url
FROM owners o
LEFT JOIN coupons c
ON o.id = c.owner_id
WHERE c.id='$coupon_id'
LIMIT 1
这是正确的吗?我把
限制1
放在那里,因为每个所有者都有很多优惠券。这看起来是正确的,但是在那里使用左连接是没有意义的,因为你在WHERE
子句中过滤掉失败的连接。只需使用连接
您也不应该需要LIMIT
子句,因为所有优惠券都应该有唯一的id(假设id
是主键),并且每个优惠券只有一个所有者。Hi,谢谢。这是因为我将其限制为1吗?是否有必要限制1?@和YPANDY:没有必要,因为一张优惠券总是属于一个且只有一个所有者
SELECT o.website_url
FROM coupons c
INNER JOIN owners o ON o.id = c.owner_id
WHERE c.id='$coupon_id'