The reason is, LINQ is used with C# or other programming languages, which needs all the variables to be declared first. From clause of LINQ query just describes the range or conditions to select records. So that's why from clause must appear before Select in LINQ.