This book provides a detailed treatment of the various facets of modern Sturm-Liouville theory, including such topics as Weyl-Titchmarsh theory, classical, renormalized, and perturbative oscillation theory, boundary data maps, traces and determinants for Sturm-Liouville operators, strongly singular Sturm-Liouville differential operators, generalized boundary values, and Sturm-Liouville operators with distributional coefficients. To illustrate the theory, the book develops an array of examples from Floquet theory to short-range scattering theory, higher-order KdV trace relations, elliptic and algebro-geometric finite gap potentials, reflectionless potentials and the Sodin-Yuditskii class, as well as a detailed collection of singular examples, such as the Bessel, generalized Bessel, and Jacobi operators. A set of appendices contains background on the basics of linear operators and spectral theory in Hilbert spaces, Schatten-von Neumann classes of compact operators, self-adjoint extensions of symmetric operators, including the Friedrichs and Krein-von Neumann extensions, boundary triplets for ODEs, Krein-type resolvent formulas, sesquilinear forms, Nevanlinna-Herglotz functions, and Bessel functions.