sql >> Databáze >  >> RDS >> Mysql

SQL dotaz „přátel přátel“.

Musíte pouze vyloučit ty, kteří jsou přímými přáteli i přáteli přátel. Přeuspořádal jsem aliasy tabulek, takže je o něco jasnější (alespoň pro mě), co se načítá:

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})

Odstraňuje také potřebu vyloučit dotazované ID uživatele.



  1. Jak exportovat výsledky dotazu pomocí MySQL Workbench

  2. Zkontrolujte, zda existuje, pokud ano, aktualizujte o 1++, pokud ne, vložte

  3. Hledání nadcházejících narozenin pomocí jOOQ

  4. Jak definovat primární klíč automatického zvýšení na serveru SQL Server