Completely agree with this - last week I was writing a query with one of our junior developers. Rewriting to use a couple of with clauses with very descriptive names immediately made the intention clear. The with clause is really the clean code enabler for my SQL.