【问题标题】:What are the differences between T-SQL, SQL Server and SQL [duplicate]T-SQL,SQL Server和SQL有什么区别[重复]
【发布时间】:2010-11-21 00:35:02
【问题描述】:

我对 SQL 的了解足以完成我的工作,但阅读不同的文章我看到了 T-SQL、SQL Server 和 SQL。它们都一样吗?三者的主要区别是什么?

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

【问题讨论】:

  • TSQL 是 microsoft 开发的一种 SQL 风格,用于他们的 DB 产品 - MS SQL Server。除了基本 SQL,TSQL 有自己的扩展(就像任何其他数据库供应商一样)。不过,我不确定它是否完全支持 ANSI SQL 标准。
  • 没有什么能完全支持 ANSI SQL 标准。
  • 实际上 - T-SQL / Transact-SQL 是 Sybase 为他们的数据库服务器开发的,然后微软获得了许可。
  • 哪个 ANSI标准?有这么多......你可以在不同程度上支持它们............“标准”(复数)应该被取缔!

标签: sql sql-server tsql


【解决方案1】:

与 Ottaman 帝国不同,Sybase 仍然存在,并且仍然使用 Transact SQL。 Sybase (ASE) 实现与 Microsoft 的实现并不完全相同。

Sybase TSQL Guide

【讨论】:

    【解决方案2】:

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

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

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

    4.T-SQL 是图灵完备的,而 SQL 不是。

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

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

    【讨论】:

      【解决方案3】:

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

      您还会看到诸如 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 本身仅限于简单地查询和更新数据,并且是不被视为真正的编程语言。

      维基百科有一篇不错的文章在这里进行概述: http://en.wikipedia.org/wiki/SQL

      【讨论】:

      • 很好的说明。谢谢!
      • PL/SQL(不是 plSQL)是一种数据库内编程语言,而不是“SQL 版本”(甚至是查询语言)。我会编辑这个答案,但问题已经结束了。
      • 那么,是不是更像ANSI SQL 是基础而T-SQL、Oracle 的SQL 等,在ANSI SQL 之上添加特性?像 JS 和 jquery、React 等?
      【解决方案4】:

      这取决于使用这些术语的上下文。

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • 实际上 - T-SQL / Transact-SQL 是 Sybase 为他们的数据库服务器开发的,然后微软获得了许可。
        • 伊拉克曾经是奥斯曼帝国的一部分。然而,在讨论最近的战争时,我们并没有听到这一点……这总是让我很烦恼!
        猜你喜欢
        • 2011-07-22
        • 2013-08-03
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 2015-09-03
        相关资源
        最近更新 更多