SQL (эс-кью-эл, англ.: Structured Query Language — структураваная мова запытаў) — мова запытаў да рэляцыйных баз даных, створаная ў пачатку 1970-х гадоў у адпаведнасці з рэляцыйнай мадэллю Эдгара Кода. Нягледзячы на тое, што мова SQL не адпавядае цалкам рэляцыйнай мадэлі Кода, яна стала найбольш папулярнай мовай баз даных.
Стандарт мовы SQL быў зацверджаны амерыканскім камітэтам ANSI ў 1986 годзе і міжнародным камітэтам ISO ў 1987 годзе. З тых часоў стандарт пераглядаўся некалькі разоў, каб дадаць больш функцый і пашырэнняў. Нягледзячы на існаванне стандарта, існуючыя рэалізацыі не адпавядаюць яму у поўнай меры, і большасць праграм, напісаных на SQL, патрабуе змен пры пераносе ў іншыя сістэмы кіравання базамі даных.
Структура
Мова SQL складаецца з 3-ох асноўных частак:
DDL (Data Definition Language, Мова Азначэння Даных)
DML (Data Manipulation Language, Мова Апрацоўкі Даных)
DCL (Data Control Language, Мова Кіравання Данымі)
Стандарты
Стандарт SQL прайшоў праз некалькі рэвізій:
Год
Назвы
Каментары
1986
SQL-86, SQL-87
Упершыню апублікаваны ANSI. Ратыфікаваны ISO у 1987.
1989
SQL-89
Невялікія змены.
1992
SQL-92, SQL-2
Істотныя змены.
1999
SQL:1999, SQL-3
Дададзеныя рэгулярныя выразы, рэкурсіўныя запыты, трыгеры і некаторыя аб’екта-арыентаваныя новаўвядзенні.
2003
SQL:2003
Абвешчаныя XML-залежныя новаўвядзенні.
2006
SQL:2006
Стандарт ISO/IEC 9075-14:2006 абвяшчае магчымасці выкарыстання SQL для работы з XML
2008
SQL:2008
Змены ў камандзе ORDER BY, даданыя каманды INSTEAD OF, TRUNCATE, FETCH
2011
SQL:2011
Дададзеныя часовыя даныя, паляпшэнні ваконных функцый (window functions) і каманды FETCH
2016
SQL:2016
Дададзеныя супастаўленне шаблонаў у радках (row pattern matching), функцыі над паліморфнымі табліцамі (polymorphic table functions), аперацыі з данымі ў фармаце JSON, якія захоўваюцца ў сімвальных палях
2019
SQL:2019
Дададзена частка 15, шматмерныя масівы
2023
SQL:2023
Дададзены тып даных JSON; дададзена частка 16, Property Graph Queries
Версіі мовы
Першы міжнародны стандарт мовы — SQL1 — быў прыняты ў 1989 годзе (таму яго часам называюць SQL-89). Гэтаму стандарту сёння адпавядае абсалютная большасць рэляцыйных сістэм кіравання базамі даных. Другі стандарт з’явіўся ў 1992 годзе (SQL2 ці SQL-92). Большасць адрозненняў ад першага ў ім выражалася колькаснымі параметрамі. У 1999 годзе на свет з’явілася 3-я версія стандарту SQL3. Яго адрозненні ад другога заключаюцца ўжо не толькі ў «колькасных», але і ў «якасных» параметрах.