查询表达式必须以 from 子句开头,并且必须以 select 或 group 子句结尾。在第一个 from 子句和最后一个 select 或 group 子句之间,查询表达式可以包含一个或多个下列可选子句:where、orderby、join、let 甚至附加的 from 子句。还可以使用 into 关键字使 join 或 group 子句的结果能够充当同一查询表达式中附加查询子句的源。
查询变量可以存储用查询语法或方法语法(或二者的组合)表示的查询。在下面的示例中,queryMajorCities 和 queryMajorCities2 都是查询变量:
查询表达式可以包含多个 from 子句。当源序列中的每个元素本身就是集合或包含集合时,可使用附加的 from 子句。例如,假定您具有一个 Country 对象集合,而其中每个对象都包含一个名为 Cities 的 City 对象集合。若要查询每个 Country 中的 City 对象,请使用两个from 子句,如下所示: