T-SQL,SQL Server和SQL之间有什么区别

时间:2009-08-19 16:15:58

标签: sql sql-server tsql

我非常了解SQL以完成我的工作但阅读不同的文章我看到了T-SQL,SQL Server和SQL。它们都一样吗?这三者之间有哪些主要区别?

我知道SQL是ANSI标准。那么另外两个呢?

5 个答案:

答案 0 :(得分:77)

SQL是访问关系数据库中数据的基本ANSI标准。当您看到“MSSQL”时,它指的是Microsoft SQL Server,它是整个数据库体系结构而不是语言。 T-SQL是Microsoft SQL Server使用的专有SQL形式。它包括特殊功能,如cast,convert,date()等,它们不属于ANSI标准。

你还会看到像plSQL这样的东西,这是Oracle的SQL版本,还有其他东西(例如,mySQL有自己的版本,而Microsoft Access使用Jet SQL。)

重要的是要注意SQL的ANSI标准有不同的版本(例如,92或99,代表它发布的年份)。不同的数据库引擎会将自己标榜为“大多数符合ANSI-92”标准或“完全符合ANSI-99”等,并且通常会记录任何异常。

因此,虽然“SQL是SQL”,但每个引擎都使用它自己的“风味”,并且在您潜入之前,您必须在特定平台上进行一些阅读。

进一步说明 - SQL扩展(如T-SQL)通常被认为是完整的编程语言,包括循环,if / then,case语句等.SQL本身仅限于查询和更新数据,并且不被认为是真正的编程语言。

Wikipedia在这里有一篇不错的文章: http://en.wikipedia.org/wiki/SQL

答案 1 :(得分:11)

这取决于这些术语的使用环境。

在某些情况下,它们可能意味着完全相同或意义略有不同。

  • T-SQL - Microsoft SQL Server中使用的SQL语言的方言
  • MSSQL - Microsoft SQL Server软件
  • SQL - 结构化查询语言 - 根据上下文,它可能意味着sql语言本身,sql数据库或任何类型的sql数据库服务器。

答案 2 :(得分:6)

T-SQL是Transact-SQL的简写,它是Microsoft的SQL方言,而MSSQL通常是指SQL Server引擎本身。

答案 3 :(得分:4)

1.SQL是一种编程语言,而T-SQL是SQL的扩展。

2.T-SQL是专有的,而SQL是一种开放格式。

3.T-SQL包含过程编程,局部变量等,而SQL则没有。

4.T-SQL是Turing完成而SQL不是。

5.T-SQL具有与SQL不同的DELETE和UPDATE实现。

6.T-SQL最好是使用Microsoft SQL服务器

答案 4 :(得分:2)

与奥斯曼帝国不同,Sybase仍然存在,仍然使用Transact SQL。 Sybase(ASE)实现与Microsoft实现不完全相同。

Sybase TSQL Guide