Volver a la lista de artículos Artículos
Lectura de 5 minutos

¿Cuál es la diferencia entre SQL y T-SQL?

Si estás empezando a aprender SQL y estás confundido por las diferencias entre SQL estándar y otros lenguajes similares como T-SQL, este artículo te ayudará a aclarar las cosas. No sólo aprenderás sobre la diferencia entre SQL y T-SQL sino que también encontrarás explicaciones sobre qué temas sería mejor empezar a aprender primero: SQL estándar o algo más específico como MS SQL Server.

¿Qué es el SQL estándar?

SQL (Structured Query Language) es un lenguaje de programación básico estándar ANSI/ISO diseñado para operar con datos almacenados en bases de datos relacionales. Gracias a estos estándares internacionales, los sistemas de bases de datos relacionales que implementan este lenguaje permiten escribir consultas similares en la mayoría de los sistemas. Se pueden seleccionar datos, manipularlos, crear objetos, gestionar usuarios y administrar bases de datos. Los proveedores de sistemas de gestión de bases de datos soportan la mayoría de las características de los estándares ANSI/ISO SQL, sin embargo, las empresas también incluyen sus propias características no estándar que amplían el lenguaje. Aprender el llamado SQL estándar es fundamental para aprender otras extensiones del lenguaje como T-SQL, porque estas extensiones implementan la mayoría de las características básicas de SQL. Por ejemplo, no hay diferencia entre SQL y T-SQL cuando se trata de cláusulas LIKE. Al aprender StandardSQL podrás operar con datos en la mayoría de los sistemas de bases de datos.

¿Qué es T-SQL?

Dado que ya tenemos el SQL estándar soportado por los proveedores de bases de datos relacionales, ¿para qué sirve el T-SQL? ¿Es necesario aprender T-SQL? ¿Cuál es la diferencia entre SQL y T-SQL?

Aunque casi todos los sistemas de bases de datos relacionales utilizan el SQL estándar, casi todos ellos incluyen también extensiones no estándar del lenguaje. La implementación específica de SQL utilizada en el sistema de bases de datos Microsoft SQL Server se denomina lenguaje Transact-SQL, o T-SQL para abreviar. T-SQL tiene más características y más funciones que las especificadas en el estándar SQL. SQL es casi un subconjunto de T-SQL, por lo que si conoces T-SQL, también conoces el SQL estándar, porque contiene casi todas las características del SQL estándar. La diferencia entre SQL y T-SQL es que este último tiene más características destinadas a ayudar a que la escritura de consultas sea más fácil, rápida y eficiente. Por lo tanto, si trabajas en MS SQL Serve, utilizas T-SQL.

T-SQL vs. SQL estándar: cuál es la diferencia

En otros sistemas de bases de datos relacionales, los nombres de las extensiones y las características adicionales son diferentes. Por ejemplo, Oracle tiene el lenguaje PL/SQL, y PostgreSQL implementa PL/pgSQL.

Actualmente no hay ninguna implementación de SQL que incluya el 100% de las características de SQL estándar, pero todas las implementaciones disponibles incluyen la mayoría de las características estándar.

Mira la imagen de abajo:

T-SQL vs. SQL estándar: cuál es la diferencia

Ejemplos de diferencias entre T-SQL y SQL estándar

La primera diferencia entre SQL y T-SQL es la palabra clave TOP, que se utiliza principalmente en una sentencia SELECT. Indica cuántas filas debe devolver una consulta en un conjunto de resultados. TOP se pone después de SELECT junto con el número de filas a devolver. Por ejemplo, la siguiente consulta devuelve sólo los 12 primeros resultados:

SELECT TOP 12 Id, Name, Description  
FROM Products ORDER BY Name;

Esta cláusula no se encuentra en el SQL estándar; sólo está disponible en MS SQL Server. Puede aprender más sobre cómo y cuándo utilizar la sentencia TOP en MS SQL Server en el curso "SQL para principiantes en MS SQL Server".

Otra diferencia entre SQL y T-SQL está en la sintaxis de la función SUBSTRING utilizada para cortar una subcadena de una cadena de entrada dada. En el SQL estándar la sintaxis de esta función es:

SUBSTRING(str FROM start [FOR len])

En el MS SQL Server la sintaxis de la función es:

SUBSTRING(str, start, len)

En estas funciones, str es una cadena dada para buscar, start es un número de inicio de un carácter (el primero es 1) en una cadena desde la cual la función comenzará a buscar, y len es la longitud de la cadena a devolver.

Estos son sólo dos ejemplos de las diferencias entre SQL estándar y T-SQL, pero puede aprender más en este curso "SQL para principiantes en MS SQL Server" y en este curso "SQL para principiantes".

¿Qué es mejor para empezar a aprender? ¿SQL estándar o T-SQL?

LearnSQL.es ofrece dos cursos para principiantes: "SQL para principiantes" y "SQL para principiantes en MS SQL Server". Puede que estés confundido sobre cuál elegir primero. Si quiere aprender un lenguaje para comunicarse con cualquier base de datos relacional, elija el curso "SQL para principiantes", donde aprenderás el SQL estándar. El material que aprenda será universal, lo que le permitirá utilizar diferentes sistemas de gestión de bases de datos relacionales (RDBMS). Sin embargo, si quiere obtener los conocimientos sobre T-SQL en particular, porque piensa trabajar con el sistema MS SQL Server, está bien empezar con el curso "SQL para principiantes en MS SQL Server" para aprender Transact-SQL en detalle.

Resumen

La elección de empezar a aprender SQL estándar, T-SQL o cualquier otra variante, depende sobre todo de si sabe que va a utilizar un sistema de base de datos concreto. Comience cualquiera de estos cursos a partir de LearnSQL.es hoy y estará en camino de escribir consultas SQL para dar sentido a sus datos.