This document discusses common table expressions (CTEs) in MySQL 8.0. It begins with an introduction to CTEs, explaining how they provide an alternative to derived tables. The document then covers non-recursive and recursive CTEs. For non-recursive CTEs, it provides examples of finding the best and worst month of sales. For recursive CTEs, it demonstrates examples such as generating a sequence of numbers and traversing a employee hierarchy. The key benefits of CTEs over derived tables are also summarized, such as improved readability, ability to reference a CTE multiple times, and potential performance improvements from avoiding multiple materializations.