SQLiteを使って構築した SNS でフォローしている人だけの投稿を表示したい


SQLite(+PHP)でSNSを作っています。現状、テーブル定義は以下のようになっています。

フォローの情報を入れている`follow`に、フォロー元のユーザーIDである`from_id`と、フォロー先のユーザーIDである`to_id`が存在しています。また、投稿テーブルとして、`post`があり、投稿ユーザーIDとして`user_id`があります。

このようなテーブルが定義されているときに、フォローしている人だけの投稿を取得し、表示するにはどうすればいいかがわかりません。どうすればいいのでしょうか?




以下の SQL で取得可能です。

[code]

    SELECT * 
    FROM   post 
    WHERE  EXISTS (SELECT 1 
                   FROM   follow 
                   WHERE  follow.to_id = post.user_id 
                          AND follow.from_id = 自分のid) 
    
[/code]

コメントにお書きになられている方法だと「フォローしているうちの誰か１人の投稿」となる気がします。




以下の SQL で取得可能です。

[code]

    SELECT * 
    FROM   post 
    WHERE  EXISTS (SELECT 1 
                   FROM   follow 
                   WHERE  follow.to_id = post.user_id 
                          AND follow.from_id = 自分のid) 
    
[/code]

コメントにお書きになられている方法だと「フォローしているうちの誰か１人の投稿」となる気がします。

