SQL Standards

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
PartExplanation
Part 1 - SQL/Framework Contains information common to all parts of the standard and describes the parts.
Part 2 - SQL/Foundation SQK Data definition and data maniputlation 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 has been withdrawn.
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 refers to as SQLJ part 0. Martin Gruber refers to this as "Embedded SQL.J"
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

Multiple parts of the ISO/IEC 9075 SQL Standard have been added, updated, and not updated over a number of releases.

Timeline
PartSQL 1992SQL 1999SQL 2003SQL 2008SQL 2011SQL 2016
Part 1 - SQL/Framework   Completed Completed Completed Completed  Completed
Part 2 - SQL/Foundation Completed (includes bindings and schema information tables) Completed Completed (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
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 Completed Completed Completed Not updated Completed
Part 4 - SQL/PSM Completed in '96 as an expansion to SQL-92 Completed (stored routines and call statement moved to SQL/Foundation) Completed Completed Completed Completed
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 Revision completed Completed Not updated Completed
Part 10 - SQL/OLB completed in '98 as an ANSI only standard ISO version based on SQL-99 completed Revision completed Completed Not updated Completed
Part 11 - SQL/Schemata     Schema information tables extracted from SQL-99 completed Completed Completed Completed
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   Revision completed Completed Not updated Completed
Part 14 - SQL/XML     Completed Expansion completed in 2006. Support for XQuery Update added in 2008. Completed Completed
Part 15 - SQL/MDA           Published in 2019

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 Sections
PartSQL 1992 PagesSQL 1999 PagesSQL 2003 PagesSQL 2008 PagesSQL 2011 PagesSQL 2016 Pages
Part 1 - SQL/Framework   85 81 93 90 89
Part 2 - SQL/Foundation 628 1,147 1,267 1,366 1,422 1732
Part 3 - SQL/CLI (1995) 236 421 402 405   404
Part 4 - SQL/PSM (1996) 256 170 184 191 196 201
Part 5 - SQL/Bindings   261        
Part 9 - SQL/MED     498 486    488
Part 10 - SQL/OLB     405 415   399
Part 11 - SQL/Schemata     296 298 298 338
Part 13 - SQL/JRT     204 208    162
Part 14 - SQL/XML     266 447 447  459
Part 15 - SQL/MDA           176
Total 1,120 2,084 3,606 3,906 2,456 4,348

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-*-2016
      • ISO/IEC 9075-*:2016

(The "INCITS/ISO/IEC" variants of the documents are US$ 30.00 per document. The "ISO/IEC" variants range from US$ 180 to US$ 451 per document. 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 – Jim Melton – USA
  • Active participants are:
    • USA
    • Canada
    • Great Britain
    • Netherlands
    • Germany
    • Japan
    • China

WG3 usually meets twice 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 SQL Standards work is done by the ANSI INCITS DM32.2 Database committee.

Note: DM32.2 used to be INCITS H2 until mid 2009 when INCITS restructured committees to match the ISO/IEC SC 32 structure.

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 DM32.2 is by technical experts from companies – one vote per company. The current membership of the committee is:

  • Officers
    • Chair: Don Deutsch – Oracle Corporation
    • Vice Chair: Keith Hare – JCC Consulting, Inc.
    • Secretary – Mike Gorman – Whitemarsh
    • International Representative – Krishna Kulkarni – IBM
    • Editor – Jim Melton – Oracle
  • Participating Companies
    • Actian
    • IBM
    • Intersystems
    • JCC Consulting, Inc.
    • Microsoft
    • Neo4J
    • Oracle Corporation
    • Sybase/SAP
    • Teradata
    • Whitemarsh Information Systems

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 is a current voting member of INCITS DM32.2, has participated in the ANSI SQL 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 (international SQL Standards Committee). Any opinions or positions expressed here are Keith's and do not necessarily represent the opinions or positions of INCITS DM32.2, ISO/IEC JTC1/SC 32/WG3 DBL, or any of the other members of either committee.