the declarative nature of SQL makes it possible to write an individual query in many different forms, each with identical results. For example, a query he can be written with a standard join, a non-correlated sub-query or a correlated sub-query, each producing identical results but with widely varying internal execution plans.