The theory of Conjunctive Queries, that is, first-order database queries
that can be defined using existentially quantified conjunctions of
atomic formulae, is one of the greatest success stories in database
theory. This class subsumes the most widely used queries in database
practice -- e.g., SQL select-from-where queries. Still, such queries
can be evaluated rather efficiently, and all major decision problems
related to conjunctive queries are decidable. This talk will survey the
classical results on conjunctive queries such as data and query complexity
(model checking), containment, equivalence, and query minimization,
equivalence under various forms of data dependencies (the "chase"
procedure), as well as more recent results on acyclic and
tree-like queries, tree- and hypertree-decompositions and
game-theoretic characterizations of bounded (hyper)tree-width, and
conjunctive queries on tree-like data. We also point out
applications of the theory of conjunctive queries to areas such as
logic programming, constraint satisfaction, and computational
linguistics.