There may be a case where a common process will need to be run on all existing items in a list. This can be achieved by a parent workflow triggering a child workflow to run on the next item in a list to and so on, causing a chain-type of effect. The main advantage of this is less server load as only one workflow runs at a time. This type of workflow is usually executed once, and updates each item as required.
In this tutorial, you will create a parent workflow that queries a list, and then determines whether or not a child workflow should be started based on a filter. For each item returned by the query, a child workflow is started which is tasked with updating a field within the item.