我知道SQL是ANSI标准,那么另外两个是什么呢?
SQL是访问关系型数据库中数据的基本 ANSI 标准。当您看到“MSSQL”时,它指的是 Microsoft SQL Server,这是整个数据库架构而不是一种语言。T-SQL 是 Microsoft SQL Server 使用的专有形式的 SQL,它包含特殊函数,如 cast、convert、date() 等,这些函数不是 ANSI 标准的一部分。
您还会看到像 plSQL 这样的东西,它是 Oracle 版本的 SQL,还有其他版本(例如 mySQL 有自己的版本,Microsoft Access 使用 Jet SQL)。
需要注意的是,ANSI SQL 标准具有不同的版本(例如 92 或 99,代表发布年份),不同的数据库引擎将宣传自己是“大多符合 ANSI-92”或“完全符合 ANSI-99”等,并且任何异常通常都会有记录。
因此,虽然“SQL 就是 SQL”,但每个引擎都使用其自己的“风格”,在您深入学习之前确实需要对特定平台进行一些阅读。
另外需要注意的是,像 T-SQL 这样的 SQL 扩展通常被认为是完整的编程语言,包括循环、if/then、case 语句等。SQL 本身仅限于查询和更新数据,不被视为真正的编程语言。
维基百科在这里提供了一个概述:http://en.wikipedia.org/wiki/SQL
T-SQL是Transact-SQL的简称,它是微软的SQL方言,而MSSQL通常指SQL Server引擎本身。
1.SQL是一种编程语言,而T-SQL是SQL的扩展。
2.T-SQL是专有的,而SQL是开放格式的。
3.T-SQL包含过程性编程,局部变量等内容,而SQL没有。
4.T-SQL是图灵完备的,而SQL不是。
5.T-SQL对DELETE和UPDATE的实现与SQL不同。
6.如果使用Microsoft SQL服务器,最好使用T-SQL。