LINQ enables querying in-memory collections (Lists, Arrays) using SQL-like syntax. It provides abstraction over different data sources (XML, SQL, Objects) with a unified query model. Object and Collection Initializers (new List{1,2,3}) simplify object creation. Lambda expressions enable inline predicate functions but are a language feature predating LINQ.