A recursive CTE is where an initial CTE is built and then the results from that are called recursively in a UNION statement returning subsets of data until all the data is returned. This gives you the ability to create data in a hierarchical fashion, as you will see in the next example.