sql >> データベース >  >> RDS >> Mysql

「友達の友達」SQLクエリ

    直接の友達であるだけでなく、友達の友達でもある人を除外する必要があります。テーブルのエイリアスを再配置したので、(とにかく)何が取得されているかが少し明確になります:

    SELECT
        u.*
    FROM
        user u
        INNER JOIN friend ff ON u.user_id = ff.friend_id
        INNER JOIN friend f ON ff.user_id = f.friend_id
    WHERE
        f.user_id = {$user_id}
        AND ff.friend_id NOT IN
        (SELECT friend_id FROM friend WHERE user_id = {$user_id})
    

    また、照会されるユーザーIDを除外する必要がなくなります。



    1. Android-SQLite-Date1とDate2の間で選択

    2. mysqli-非オブジェクトmysqliでのメンバー関数fetch_array()へのfetch_Arrayエラー呼び出し

    3. 値を持つ一時列を追加します

    4. ストアドプロシージャを使用したMySQLデータベースへの同時アクセス