Системы управления базами данных (СУБД) нуждаются в отдельном языке манипулирования данными, потому что процедурные языки не имеют необходимых для этой цели операторов. Первоначальная версия такого языка была предложена компанией IBM для реляционной СУБД «IBM System R». Языку дали название SEQUEL (Structured English QUEry Language) – структурированный английский язык запросов. Чуть позднее язык был переименован в SQL. Целью создания языка было обеспечить пользователей, не имеющих навыков программирования, простым и понятным средством манипулирования данными.
В 1986 году организации ISO и ANSI начали разработку стандарта языка SQL с целью его унификации для использования различными СУБД. Стандарт 1986 года определил минимальный синтаксис языка. В 1989 году он был обновлен и появился стандарт SQL89. Этот стандарт включил в себя определение всех основных функций SQL таких как:
В 1992 году стандарт был снова существенно расширен и стал называться SQL92. Он включал три уровня соответствия: базовый, средний и полный. В базовый уровень в сравнении с SQL89 добавились следующие свойства:
На современном этапе фактическим стандартом является SQL99 принятый в 1999 году. Стандарт определяет несколько уровней соответствия. Обязательным для современных СУБД является уровень функционального ядра. Соответствия этому уровню достаточно для того, чтобы утверждать, что СУБД соответствует стандарту SQL99. Но большинство профессиональных СУБД поддерживают также уровни расширенного соответствия.
Функциональное ядро включает в себя базовый уровень стандарта SQL92 и следующие дополнительные возможности:
Другие уровни расширенного соответствия предполагают следующие возможности:
Фактическим стандартом обмена данными между различными СУБД на сегодняшний день является язык XML (Extensible Markup Language) предложенный и стандартизированный консорциумом W3C. Большинство современных СУБД имеют в составе функции преобразования данных, полученных в результате запросов, в xml-файлы, а также функции обратного преобразования xml-файлов в таблицы.
Пример xml-файла показан на рисунке.

Также разработан стандарт SQL/XML, который позволяет использовать в SQL-запросах данные XML-файлов наряду с данными, хранящимися в таблицах.