This page is designed to be a central source of information about the SQL standards process and its current state. It also contains pointers to other sources of information about the SQL standard. The information available here is:
- Current Status
- Parts of the SQL Standard and Timeline
- Definition of the Parts
- Timeline
- Number of Pages Devoted to Each Part
- How to Get Copies of the Standards
- The SQL Standards Process
- SQL/MM
- Disclaimer and Credits
Current Status
While the SQL Standard is often perceived as established technology, rather than the innovative, cutting edge technology it was when the standards process started in early 1980's, it is still an expanding, evolving, relevant standard.
The original SQL standard was completed as a USA ANSI (American National Standards Institute) standard in 1986, and adopted as an ISO (International Standards Organization) standard in 1987. Expansions and revisions were released in 1989 and 1992.
To allow relevant pieces to progress at different rates, the SQL standard has been divided into multiple parts. Two of these parts were completed in the 1990's, as additions to SQL-1992. SQL/CLI (Call Language Interface) was completed in 1995 and SQL/PSM (Persistent Stored Modules) was completed in 1996. Revisions and expansions to Parts one through five were completed in 1999.
Following the completion of SQL:1999, there has been significant work on SQL with Java (a Sun trademark) and XML, as well as the use of SQL to manage data external to an SQL database.
Another revision to all of the parts was completed as SQL:2003. Since SQL:2003, the SQL standards committees have expanded XML support and corrected some errors. The expanded SQL/XML standard was published in 2006 and a full revision of all nine parts was published in 2008.
In 2007, WG3 made the decision that, following the completion of SQL:2008, four of the nine parts were stable enough that they did not need additional expansion. The remaining five parts, SQL/Framework, SQL/Foundation, SQL/PSM, SQL/Schemata, and SQL/XML, are on target for completion of another revision in 2011.
In addition to the SQL standards, there is a separate set of specifications called SQL/MM that is a multi-media expansion of the SQL Standard.
SQL Parts and Events
Over the years, the SQL standard has expanded and multiplied. Parts have been split out and rejoined. As a result, the pedigree and status of the various pieces of completed and developing standards can be quite confusing.
The following three charts may help to clarify the parts of the standard. The first provides a brief explanation of the part. The second is a timeline that shows activity for each part for each version of the standard. The third shows the number of pages devoted to each part in each of the standards.
Explanation of Parts of the Standard |
Part |
Explanation |
Part 1 - SQL/Framework |
Contains information common to all parts of the standard and describes the parts. |
Part 2 - SQL/Foundation |
SQL Data definition and data manipulation syntax and semantics, including SQL embedded in non-object programming languages. |
SQL/OLAP |
Online Analytical Processing: Amendment describing functions and operations useful for analytical processing. |
Part 3 - SQL/CLI |
Call Level Interface: Corresponds to ODBC. |
Part 4 - SQL/PSM |
Persistent Stored Modules: Stored routines, external routines, and procedural language extensions to SQL. |
Part 5 - SQL/Bindings |
Embedded SQL. |
Part 6 - SQL/Transaction |
SQL specialization of the X-Open XA specification. Project has been canceled. |
Part 7 - SQL/Temporal |
Extensions to SQL to deal with time-oriented data types. There has been some difference of opinion on the requirements and details of Temporal. For more details on this topic, see the books Developing Time-Oriented Database Applications in SQL by Richard Snodgrass and Christian Jensen and Temporal Data and the Relational Model by C.J. Date, Hugh Darwen, and Nikos Lorentzos. This project was withdrawn.The Temporal capabilities were integrated into SQL/Foundation in SQL:2011 |
Part 8 - SQL/Objects Extended Objects |
During the development of SQL-1999, there was a great deal of discussion and change in the object model to be supported. To isolate these changes, the Object portion was separated into a separate part. As the object model stabilized during the completion of SQL-1999, the object oriented capabilities were merged back into SQL/Foundation, so this part no longer exists. |
Part 9 - SQL/MED |
Management of External Data: Adds syntax and definitions to SQL/Foundation to allow SQL access to non-SQL data sources (files). |
Part 10 - SQL/OLB |
Object Language Bindings: Specifies the syntax and semantics of embedding SQL in Java™. Works in conjunction with JDBC but supports applications that do not need the dynamic SQL capabilities provided by JDBC. This corresponds to what the SQLJ group referred to as SQLJ part 0. |
Part 11 - SQL/Schemata |
Information and Definition Schemas |
Part 12 - SQL/Replication |
Replication facilities for SQL. This project began in 2000. The goal is to define syntax and semantics to allow definition of replication schemes and rules, including rules for resolution of update conflicts. |
Part 13 - SQL/JRT |
Java Routines and Types: Routines using the Java™ Programming Language (Persistent Stored SQLJ) |
Part 14 - SQL/XML |
SQL and XML |
Part 15 - SQL/MDA |
SQL support for Multi-Dimensional Arrays |
Part 16 - SQL/PGQ |
Property Graph Queries in SQL |
Multiple parts of the ISO/IEC 9075 SQL Standard have been added, updated, and not updated over a number of releases.
Timeline |
|
Part |
SQL 1992 |
SQL 1999 |
SQL 2003 |
SQL 2008 |
SQL 2011 |
SQL 2016 |
SQL 2023 |
Part 1 - SQL/Framework |
|
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Part 2 - SQL/Foundation |
Includes bindings and schema information tables, Internationalization, and numerous enhancements |
Improvements and corrections |
OLAP amendment and SQL/Bindings merged in; schema information tables separated out. |
Incremental expansions and some bug fixes. |
Added support for System Versioned Tables |
Support for Row Pattern Recognition -- Regular expressions across sequences of rows, polymorphic table functions, and JSON |
Additional JSON support |
SQL/OLAP |
|
Processed as an amendment to SQL/Foundation |
OLAP amendment merged into SQL/Foundation |
|
|
|
|
Part 3 - SQL/CLI |
Completed in '95 as an expansion to SQL-92 |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Not updated |
Improvements and corrections |
Improvements and corrections |
Part 4 - SQL/PSM |
Completed in '96 as an expansion to SQL-92 |
Completed (stored routines and call statement moved to SQL/Foundation) |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Part 5 - SQL/Bindings |
|
Specification for embedding SQL in programming languages moved to a separate part. |
SQL/Bindings merged back into SQL/Foundation, |
|
|
|
|
Part 6 - SQL/Transaction |
|
Project canceled due to lack of need |
|
|
|
|
|
Part 7 - SQL/Temporal |
|
|
Project Canceled due to lack of progress. |
|
|
|
|
Part 8 - SQL/Objects Extended Objects |
|
Merged into SQL/Foundation |
|
|
|
|
|
Part 9 - SQL/MED |
|
ISO version based on SQL-99 |
Improvements and corrections |
Improvements and corrections |
Not updated |
Improvements and corrections |
Improvements and corrections |
Part 10 - SQL/OLB |
completed in '98 as an ANSI only standard |
ISO version based on SQL-99 completed |
Improvements and corrections |
Improvements and corrections |
Not updated |
Improvements and corrections |
Improvements and corrections |
Part 11 - SQL/Schemata |
|
|
Schema information tables extracted from SQL-99 |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Part 12 - SQL/Replication |
|
Became a project in 2000, with goal of defining syntax and semantics to support definition of replication schemes and rules, including rules for resolution of update conflicts. |
Project canceled due to lack of progress. |
|
|
|
|
Part 13 - SQL/JRT |
completed in '99 as an ANSI only standard |
|
Improvements and corrections |
Improvements and corrections |
Not updated |
Improvements and corrections |
Improvements and corrections |
Part 14 - SQL/XML |
|
|
XML datatype and operations |
Expansion completed in 2006. Support for XQuery Update added in 2008. |
Improvements and corrections |
Improvements and corrections |
Improvements and corrections |
Part 15 - SQL/MDA |
|
|
|
|
|
Published in 2019 |
Improvements and corrections |
Part 16 - SQL/PGQ |
|
|
|
|
|
|
Property Graph queries in SQL |
A comparison of the raw number of pages in each part of the standard provides a simple measure of the complexity and completeness of the SQL standard.
Pages Devoted to Different Parts of the SQL Standard |
|
Part |
SQL 1992 Pages |
SQL 1999 Pages |
SQL 2003 Pages |
SQL 2008 Pages |
SQL 2011 Pages |
SQL 2016 Pages |
SQL 2023 Pages |
Part 1 - SQL/Framework |
|
85 |
81 |
93 |
90 |
89 |
90 |
Part 2 - SQL/Foundation |
628 |
1,147 |
1,267 |
1,366 |
1,422 |
1732 |
1738 |
Part 3 - SQL/CLI (1995) |
236 |
421 |
402 |
405 |
|
404 |
384 |
Part 4 - SQL/PSM (1996) |
256 |
170 |
184 |
191 |
196 |
201 |
172 |
Part 5 - SQL/Bindings |
|
261 |
|
|
|
|
|
Part 9 - SQL/MED |
|
|
498 |
486 |
|
488 |
464 |
Part 10 - SQL/OLB |
|
|
405 |
415 |
|
399 |
340 |
Part 11 - SQL/Schemata |
|
|
296 |
298 |
298 |
338 |
320 |
Part 13 - SQL/JRT |
|
|
204 |
208 |
|
162 |
144 |
Part 14 - SQL/XML |
|
|
266 |
447 |
447 |
459 |
450 |
Part 15 - SQL/MDA |
|
|
|
|
|
176 |
160 |
Part 16 - SQL/PGQ |
|
|
|
|
|
|
282 |
Total |
1,120 |
2,084 |
3,606 |
3,906 |
2,456 |
4,348 |
4,544 |
A number of SQL parts have fewer pages in SQL:2023. This is due to changes ISO/IEC document styles, not a reduction in the content.
Getting Copies of the Standards
Because of ANSI and ISO copyright restrictions, copies of the SQL standards specifications are available only for purchase.
Electronic (PDF) of printed copies of the SQL standards are available from several sources.
- ISO – http://www.iso.ch, click on "ISO STORE", and search for 9075. Prices are in Swiss Francs.
- ANSI – http://www.ansi.org/, click on "Access Standards - eStandards Store" and search for "SQL Language".
- Make sure you choose the 2016 versions
- Note that there are two variants of each document:
- INCITS/ISO/IEC 9075-*-2023
- ISO/IEC 9075-*:2023
(The "INCITS/ISO/IEC" variants of the documents are cheaper than the "ISO/IEC" variants. The content of the documents is identical.)
The SQL Standards Process
The process of creating a standard involves a lot of work by a lot of people, and a certain amount of bureaucracy.
International (ISO)
In the international arena, the SQL Standard is developed by a committee designated as ISO/IEC JTC 1/SC 32 Data Management and Interchange/WG 3 – Database Languages. This committee is made up of delegations from the participating countries.
- Officers
- Convenor – Keith Hare - USA
- Editor – Jörn Bartels, Stefan Plantikow, Stephen Cannan, Jim Melton, and Vik Fearing
- Active participants are:
- China
- Denmark
- Germany
- Japan
- Korea
- Netherlands
- Sweden
- UK
- USA
WG3 meets in person two or three times a year to discuss and process proposed changes, additions, and/or corrections from various participants.
Each of the member countries have different organizations and procedures for determining who will be members of the delegation to WG3 and which proposed changes will be supported.
United States
Within the USA, the database language standards (SQL and GQL) work is done by the INCITS Data Management committee.
Note: INCITS Data Management used to be INCITS DM32, which used to be INCITS DM32.2, which used to be INCITS H2.
INCITS (InterNational Committee for Information Technology Standards) is an ANSI (American National Standards Institute) accredited standards producing organization. According to the INCITS web site (http://www.incits.org):
INCITS is sponsored by the Information Technology Industry Council (ITI), a trade association representing the leading U.S. providers of information technology products and services
Participation within INCITS Data Management is by technical experts from companies – one vote per company. The current Officers are:
- Chair: Jan Michels
- Vice Chair: Keith Hare
- Secretary – Mike Gorman
The participating companies are mostly database vendors.
SQL/MM
Within the international SQL standards efforts, SQL/MM is the responsibility of the committee ISO/IEC JTC 1/SC 32/WG 4 SQL/Multimedia and application packages. The current parts of SQL/MM are:
- SQL/MM Part 1: Framework
- SQL/MM Part 2: Full Text
- SQL/MM Part 3: Spatial
- SQL/MM Part 5: Still image
- SQL/MM Part 6: Data mining
Disclaimer
The JCC SQL Standards Page was created and is maintained by Keith W. Hare (This email address is being protected from spambots. You need JavaScript enabled to view it.) of JCC Consulting, Inc. Keith has participated in the INCITS Database Languages standards process since 1988, is the current Vice Chair of the US committee, and is the Convenor (Chair) of ISO/IEC JTC 1/SC32 WG3 Database Languages -- the international SQL and GQL Standards Committee. Any opinions or positions expressed here are Keith's and do not necessarily represent the opinions or positions of INCITS Data Management, ISO/IEC JTC1/SC 32/WG3 Database Languages, or any of the other members of either committee.