The document discusses different types of query languages used to retrieve data from a database. It states that there are two main types: procedural query languages and non-procedural query languages. Procedural query languages require the user to specify the step-by-step process to retrieve data, while non-procedural languages only require the user to specify what data to retrieve without how. Relational algebra is provided as an example of a procedural query language, while relational calculus is given as a non-procedural language. SQL is described as a practical implementation of both relational algebra and relational calculus used to interact with relational databases.