如何查询多个表?

时间:2011-02-10 21:15:43

标签: mysql sql

我想要实现的是选择仅由我的朋友写的评论。我有以下表格。

id
my_user_id
friend_user_id

评论

id
user_id
comment

这就是我到目前为止所做的。

首先在朋友表中找出谁是我的朋友:

mysql_query("SELECT friend_user_id FROM friends 
             WHERE my_user_id = $user_id ");

然后我选择了仅由我的朋友写的评论。

mysql_query("SELECT * FROM comments WHERE user_id = 'my_first_friends_id' 
             OR user_id = 'my_second_friends_id' ");

现在,这是蹩脚的版本,而且非常慢。我在评论表中有数百万个条目。

这个问题的最佳解决方案是什么?如何在一个查询中解决这个问题?快速也很重要。

1 个答案:

答案 0 :(得分:3)

select c.id, c.user_id, c.comment
    from Friends f
        inner join Comments c
            on f.friend_user_id = c.user_id
    where f.my_user_id = $user_id
相关问题