SQL is based largely on tuple relational calculus and relational algebra. Relational algebra, introduced by E. F. Codd in 1972, provided the basic concepts behind computing SQL syntax. It is a procedural way to construct data-driven queries, and it addresses the how logic of a structured query. The tuple relational calculus ( TRC ), on the other hand, had a large effect on the underlying appearance of SQL. Relational calculus uses declarative expressions, which address the what logic of a structured query.

There are, additional features that set SQL apart from merely implementing features that are part of relational algebra or calculus:

Support for data insertion, modification and deletion.

A user is allowed to insert, delete, and modify stored data records.

Arithmetic operators

Arithmetic operations such as addition, subtraction, multiplication, and division (e.g., (value1 * 5) + value2 ) are allowed, as well as comparison operators (e.g., value3 >= value4 ).

Display of data

A user is allowed to display query-generated relationships (such as a table's contents).


Assignment provides a user the ability to re-name a relation that is computed by a query, rather than forcing the use of the default relationship name (e.g., a column or function name, depending on the source of the data).

Aggregate functions

Aggregate functions allow a user to group related rows together and perform evaluations upon that group of data. These operations can include, but are not limited to: average, sum, count, maximum, and minimum.