SQL标准

为了在各个数据库厂商之间取得更大的统一性,美国国家标准学会(American NationalStandards Institute,ANSI)于1986年发布了第一个SQL标准,

并于1989年发布了第二个版本,该版本已经被广泛地采用。ANSI在1992年更新了SQL标准的版本,即SQL92和SQL2,并于1999年再次更新为SQL99和SQL3标准。
在每一次更新中,ANSI都在SQL中添加了新特性,并在语言中集成了新的命令和功能。  对于各种数据库产品,ANSI标准规范化了很多SQL行为和语法结构。
随着开源数据库产品(例如MySQL、mSQL和PostgreSQL)日渐流行并由虚拟团队而不是大型公司开发,这些标准变得更加重要。  
现在,SQL标准由ANSI和国际标准化组织(International Standards Organization,ISO)作为ISO/IEC 9075标准维护。
最新发布的SQL标准是SQL:2008,下一版本的发布工作已经在进行之中,它将包含RDBMS在收集或分发数据方式上的新发展。(节选自《SQL实战新手入门》)


你可以搜索一下 SQL92会得到很多的资料。为什么不同数据库差异很大? 因为:
1、如果跟其他产品的sql完全一样,就会有给其他产品替代的危险,无法“绑架”使用本产品的用户(就像“扣扣”绑架用户类似)
2、不同的数据库提供商引擎不同,引擎的差异导致数据库产品会用一些个性的语法来突出自己产品的功能、性能特性等。 就像所有的汽车都有速度表、里程表、油量表和温度表,但是样式都不会相同一样
3、SQL92标准是各个数据库产品应该事先的功能、语法的一个子集。


SQL92标准有4个层次
入门级(Entry level)。
这是大多数开发商符合的级别。这一级只是对前一个标准SQL89稍做修改。所有数据库开发商都不会有更高的级别,实际上,美国国家标准和技术协会NIST(National Institute of Standards and Technology,这是一家专门检验SQL合规性的机构)除了验证入门级外,甚至不做其他的验证。Oracle 7.0于1993年通过了NIST的SQL92入门级合规性验证,那时我也是小组中的一个成员。如果一个数据库符合入门级,它的特性集则是Oracle 7.0的一个功能子集。

过度级

中间级

完备级


网上找的话,sql92 的文档多

原文地址:https://www.cnblogs.com/wangduqiang/p/4180934.html