我非常了解SQL以完成我的工作但阅读不同的文章我看到了T-SQL,SQL Server和SQL。它们都一样吗?这三者之间有哪些主要区别?
我知道SQL是ANSI标准。那么另外两个呢?
答案 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)
这取决于这些术语的使用环境。
在某些情况下,它们可能意味着完全相同或意义略有不同。
答案 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实现不完全相同。