The SQL Language
A key aspect of SQL (and of Codd's original data manipulation language) is that it expresses operations against sets of data, in a non-procedural form, rather than requiring a program that retrieves records one by one, and specifies sequences of steps to process each record. Unlike programs written in most languages, which specify sequences of steps to be performed, a SQL statement expresses the result the user desires, and the database management system is responsible for producing that result as efficiently as possible. A SQL statement specifies the operations (like filtering, grouping,and sorting) to be performed on sets of rows, and the database system determines the precise ways in which the data will be accessed and the sequence of the various processing steps needed to produce the desired result. A very useful aspect of SQL is the "closure" property: a query result is generated in the form of a table. Therefore, the set of rows returned by a query can be inserted into another table, or used as part of a query expression in SQL, as a "subquery" or as part of a view definition.
Another important element of the original definition of SQL was that it included syntax for defining the content of the database. The database administrator defines its schema—the names of tables and the names and data types of their columns, among other things—using so-called DDL (Data Definition Language), which is, in fact, not a separate language, but a set of SQL commands (or ...