2.5.1 Различие процедурных и непроцедурных язык запросов

Развитие языков запросов баз данных началось с реляционной алгебры и достигло структурированного языка запросов (Structured
Query Language - SQL). Реляционная алгебра - это процедурный язык, связанный с
процессами: для достижения желаемых результатов может потребоваться провести последовательность
действия, как показано в примерах на
следующей паре страниц. SQL в первую очередь непроцедурный язык: каждый оператор
выдает результат, соответствующий запрашиваемому выходу. Ответственность за то,
как добиться соответствующего выхода,
лежит, в значительной степени, на моторе (движке) базы данных. Это особенно верно в случае интерпретирования SQL, который используют администраторы
баз данных. Однако в языке есть конструкции, которые можно использовать только в
контексте языка программирования и которые позволяют использовать определенные
процедуры. Эти процедуры имеются только во внутреннем описании стандарта, или спецификации,
SQL (в основном, это запросы, вводимые с командной
строки).