MySQL nepodporuje nativní hierarchické dotazy.
Abychom mohli projít konečný počet úrovní, můžeme napsat dotazy, které získají výsledek pro každou úroveň, a výsledky zkombinovat s UNION ALL
operátor.
Nebo můžeme napsat program (proceduru) uložený v MySQL pro více rekurzivní přístup.
Jako příklad přístupu pomocí nativního SQL dotazu:
SELECT t0.comp_code
FROM tb_corp t0
WHERE t0.mgr_emp_no = 111
UNION ALL
SELECT t1.comp_code
FROM tb_corp t0
JOIN tb_corp t1 ON t1.incharge_comp_code = t0.comp_code
WHERE t0.mgr_emp_no = 111
UNION ALL
SELECT t2.comp_code
FROM tb_corp t0
JOIN tb_corp t1 ON t1.incharge_comp_code = t0.comp_code
JOIN tb_corp t2 ON t2.incharge_comp_code = t1.comp_code
WHERE t0.mgr_emp_no = 111
UNION ALL
SELECT t3.comp_code
FROM tb_corp t0
JOIN tb_corp t1 ON t1.incharge_comp_code = t0.comp_code
JOIN tb_corp t2 ON t2.incharge_comp_code = t1.comp_code
JOIN tb_corp t3 ON t3.incharge_comp_code = t2.comp_code
WHERE t0.mgr_emp_no = 111
atd. Tento přístup lze rozšířit na t4, t5, t6, ... až na nějaký (rozumný) konečný počet úrovní.
Pro více rekurzivní přístup lze napsat uložený program MySQL (PROCEDURE).