Олимпиадный тренинг

Задача . Иерархический запрос


Задача

Темы:

В таблице categories хранятся категории продуктов. Таблица устроена по древовидному принципу с указанием родительской категории через поле parent_id.

Нужно для категории с id = 5 вывести все её подкатегории — как прямые, так и косвенные — на глубину вложенности до 3 уровней.

Структура таблицы

CREATE TABLE categories (
    id INTEGER PRIMARY KEY,
    name TEXT,
    parent_id INTEGER  -- ссылка на родительскую категорию или NULL, если корень
);

 

 

Задание

Напишите SQL-запрос, выводящий столбцы:

| id | name | level |

где:

  • id — идентификатор подкатегории,

  • name — название подкатегории,

  • level — уровень вложенности относительно категории с id=5, где 1 — это прямые подкатегории, 2 — подкатегории второго уровня, 3 — третьего.


time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя