Problem solve Get help with specific problems with your technologies, process and projects.

What are the differences between SQL-89, SQL-92, and SQL-99?

Could you please tell me, in brief, the differences between SQL-89, SQL-92 and SQL-1999, and whether Oracle and SQL Server fully adhere to SQL-1999?

A full list of the differences between SQL-89, SQL-92, and SQL-99 (a.k.a. SQL1, SQL2, and SQL3) cannot really be summed up in brief –- many changes occurred between each version. However, backwards-compatibility was stressed with each release, and code that worked against SQL-89 should still work with SQL-99.

The most important changes between SQL-89 and SQL-92, in my opinion, were modifications to the join syntax, specifically the addition of the OUTER JOIN clause.

SQL-99 really focused on the business analytics side of things, with additions such as Common Table Expressions and the SQL/PSM standard for defining Java-based modules. SQL/PSM (Persistent Stored Module) was actually added to SQL-92 in 1996, but is considered to be part of the SQL-99 standard.

Both SQL Server and Oracle do support parts of SQL-99 -– but neither of them supports the entire standard.

For more information on the ANSI SQL Standard, I recommend picking up a copy of A Guide to the SQL Standard (4th Edition) by C.J. Date and Hugh Darwen (Addison-Wesley Professional, 1996).

Dig Deeper on SQL-Transact SQL (T-SQL)