Рекурсивный обход графа друзей

Сложная CTE (Common Table Expressions)

Условие задачи

Таблица friendships (user_id INTEGER, friend_id INTEGER). Найдите всех друзей и друзей друзей для пользователя 1 (до 2 уровней). Выведите found_user_id и depth (1 = прямой друг, 2 = друг друга). Исключите самого пользователя 1.

Схема данных

CREATE TABLE friendships (user_id INTEGER, friend_id INTEGER);

Темы

RECURSIVE CTE JOIN DISTINCT GROUP BY

Подсказки

Решить в интерактивной SQL-песочнице → ← Все SQL-задачи