在两个条件下连接mysql中的三个表

时间:2015-07-15 17:03:36

标签: mysql

这是查询:

    SELECT * 
    FROM posts 
    JOIN posts_views_likes ON posts.postid = posts_views_likes.postid 
    JOIN shared_posts ON posts.postid = shared_posts.postid 
    WHERE posts.username = 'abbsmalone' or shared_posts.username = 'abbsmalone' 
    ORDER BY posts_views_likes.ratio DESC, posts.date

问题是输出只给出了与第二个条件匹配的结果(其中shared_posts.username ='abbsmalone'),但没有与第一个匹配的结果。当我从等式中删除第三个表时它可以工作,所以我假设我没有正确加入这三个表吗?

1 个答案:

答案 0 :(得分:1)

您正在使用内部联接,因此只有在满足所有联接条件时才会给您结果。