2009-08-19 20 views
35

Sé lo suficiente sobre SQL para hacer mi trabajo pero leyendo diferentes artículos Veo T-SQL, SQL Server y SQL. son todos iguales? ¿Cuáles son las principales diferencias entre los tres?¿Cuáles son las diferencias entre T-SQL, SQL Server y SQL?

Sé que SQL es un estándar ANSI. ¿Qué hay de los otros dos?

+1

TSQL es un sabor de SQL desarrollado por Microsoft que se utiliza para su producto DB - MS SQL Server. TSQL tiene sus propias extensiones (al igual que cualquier otro proveedor de db) además del SQL básico. Sin embargo, no estoy seguro si es compatible con el estándar ANSI SQL por completo. – shahkalpesh

+2

Nada es compatible por completo con el estándar SQL ANSI. –

+3

En realidad, T-SQL/Transact-SQL fue desarrollado por Sybase para su servidor de base de datos, que luego Microsoft autorizó. –

Respuesta

69

SQL es el estándar ANSI básico para acceder a los datos en una base de datos relacional. Cuando ve "MSSQL" se refiere a Microsoft SQL Server, que es toda la arquitectura de la base de datos y no un idioma. T-SQL es la forma patentada de SQL utilizada por Microsoft SQL Server. Incluye funciones especiales como cast, convert, date(), etc. que no son parte del estándar ANSI.

También verá cosas como plsql, que es la versión de Oracle de SQL, y hay otros también (MySQL tiene su propia versión, por ejemplo, y Microsoft Access utiliza Jet SQL.)

Es importante tener en cuenta que el estándar ANSI para SQL tiene lanzamientos diferentes (por ejemplo, 92 o 99, que representa el año en que se lanzó). Diferentes motores de base de datos se anunciarán como "principalmente ANSI-92" o "totalmente ANSI-99", etc., y cualquier excepción generalmente estará documentada.

Así que, aunque "SQL es SQL", cada motor utiliza su propio "sabor" de él, y usted tiene que hacer un poco de lectura sobre la plataforma en particular antes de que acaba de buceo en

Hay una nota más. - las extensiones de SQL, como T-SQL, generalmente se consideran lenguajes de programación de pleno derecho, completos con bucles, si/entonces, declaraciones de casos, etc. El propio SQL se limita a consultar y actualizar datos y no se considera un verdadero lenguaje de programación.

Wikipedia tiene un artículo decente para una visión general aquí: http://en.wikipedia.org/wiki/SQL

+1

Muy bien escrito aclaración. ¡Gracias! –

+1

PL/SQL (no plSQL) es un lenguaje de programación en la base de datos, no una "versión de SQL" (o incluso un lenguaje de consulta). Editaría esta respuesta, pero la pregunta está cerrada de todos modos. –

6

T-SQL es la abreviatura de Transact-SQL, que es el dialecto SQL de Microsoft, mientras que MSSQL generalmente se refiere al motor de SQL Server.

+3

En realidad, T-SQL/Transact-SQL fue desarrollado por Sybase para su servidor de base de datos, que luego Microsoft autorizó. –

+8

E Irak solía ser parte del Imperio Otomano. Sin embargo, no escuchamos eso cuando hablamos de la guerra reciente ... ¡que siempre me molesta de verdad! –

10

Depende en qué contexto esos términos se utilizan.

Pueden significar exactamente lo mismo o tener un significado ligeramente diferente en algunas situaciones.

  • T-SQL - dialecto del lenguaje SQL utilizado en Microsoft SQL Server
  • MSSQL - SQL Server de Microsoft de software
  • SQL - Structured Query Language - dependiendo del contexto que podría significar el lenguaje SQL en sí, la base de datos SQL o servidor de base de datos sql de cualquier tipo.
4

1.SQL es un lenguaje de programación, mientras que T-SQL es una extensión de SQL.

2.T-SQL es propiedad mientras SQL es un formato abierto.

3.T-SQL contiene programación de procedimiento, variable local, y tal mientras SQL no lo hace.

4.T-SQL es Turing completo mientras SQL no lo es.

5.T-SQL tiene una implementación diferente de DELETE y UPDATE que SQL.

6.T-SQL es mejor si utiliza los servidores de Microsoft SQL

2

A diferencia del imperio otomano, Sybase todavía existe, y todavía utiliza Transact SQL. La implementación de Sybase (ASE) no es exactamente la misma que la de Microsoft.

Sybase TSQL Guide

Cuestiones relacionadas