Зная максимальное количество символов, которое вы хотели, например, 3, вы можете сделать это так:
select distinct concat(t1.element, t2.element, t3.element) as Combination
from (
select element from `Test` union all select ''
) t1
cross join (
select element from `Test` union all select ''
) t2
cross join (
select element from `Test` union all select ''
) t3
order by length(Combination), Combination
Но, поскольку этот метод основан на создании другого JOIN
(и изменении * 1005)* заявление) для каждого символа, который вы добавляете в длину, он не может быть полностью динамическим.