3) sequence of elements and transform them to a new type of object.
how to use
A query expression must begin with a from clause and must end with a select or group clause.Between the first from clause and the last select or group clause, it can contain one or more of these
optional clauses
where, orderby, join let and even additional from clauses. You can also use the intokeyword to enable the result of a join or group clause to serve as the source for additional query clauses
in the same query expression.
note
For more on query expressions, please see https://docs.microsoft.com/en-us/dotnet/articles/csharp/linq/query-expression-basics