LINQ allows querying different data sources using a common syntax. It includes LINQ to Objects, LINQ to XML, and LINQ to SQL. Queries can be written using query syntax or method syntax, which ultimately gets compiled to method syntax. Common LINQ methods include Where, Select, GroupBy, Join, Max, and Average. Query syntax is usually simpler and more readable than method syntax, though there is no semantic difference. The var type is implicitly typed based on the right side expression. Lambda expressions allow inline anonymous methods and are useful for certain LINQ queries only expressible in method syntax. Expression lambdas specify an expression on the right side of =>.