CTE advantages are there :
> It can be defined, it is used as a Table or a View and can SELECT, INSERT, UPDATE or DELETE Data.
> Its Using CTE for improve the readability and makes maintenance of complex queries easy.
> It can be signifies as a functions,stored procedures, triggers or even views.
> The query can be divided into separate, simple, logical building blocks which can be then used to build more complex CTEs until final result set is generated.