MySql如何实现递归查询(将上一步的查询结果作为下一步的查询参数)?

我现在有一个表如下:图片说明

里面记录了元素与元素之间的依赖信息,具体到上表,其含义是元素1依赖元素3,元素3依赖元素4,...,元素6依赖元素8;那么元素1直接或者间接地依赖着元素3,4,5,6,8.这个依赖的层次可能很深。我怎么通过sql查询出某个元素依赖(直接或者间接)的所有的元素呢。使用存储过程是否可以解决该问题?

循环示例

delimiter //
drop procedure if exists looppc;
create procedure looppc()
begin 
declare i int;
set i = 1;

repeat 
    insert into user_profile_company (uid) values (i+1);
    set i = i + 1;
until i >= 20

end repeat;


end //

---- 调用
call looppc()

可以将上一个查询当作条件来进行查询啊