CREATE TABLE categories (
id int primary key,
name varchar(64),
parent_id int
);
INSERT INTO categories VALUES (1, 'Information technology', null), (2, 'Developer', 1), (3, 'PHP developer', 2);
WITH RECURSIVE recursive_categories (name, parent_id) AS (
SELECT name, parent_id FROM categories WHERE name = 'PHP developer'
UNION ALL
SELECT c.name, c.parent_id FROM categories c JOIN categories ON c.id = categories.parent_id
) SELECT * FROM recursive_categories
ORDER BY parent_id ASC;