mysql中LEFT JOIN的使用方法

LEFT JOIN用于mysql关联查询的语句,以下是一个文章关联点赞的案例。

在 MySQL 中通过 LEFT JOIN 避免不必要的sql查询,用好left join 能节省不必要的资源浪费,以下是具体实现方法:

实现关联文章表和点赞记录表

SELECT 
    a.id AS article_id,
    a.title,
    a.like_count,
    CASE 
        WHEN l.user_id IS NOT NULL THEN 1 
        ELSE 0 
    END AS is_liked
FROM 
    articles a
LEFT JOIN 
    likes l 
    ON a.id = l.article_id 
    AND l.user_id = ?  -- 替换为当前用户ID
ORDER BY 
    a.id DESC;

通过 ON a.id = l.article_id AND l.user_id = ? 筛选出当前用户的点赞记录

php代码可这样写

prepare($sql);
$stmt->execute([$userId]);
$articles = $stmt->fetchAll(PDO::FETCH_ASSOC);

l.user_id为设置的用户id

查询的结果为,右查询为空则为空,有值则显示该数值,从过数值对比就可以判定用户是否点赞

0
登录 / 注册 评论!