Voltar para a lista de artigos Artigos
5 minutos de leitura

Qual é a diferença entre SQL e T-SQL?

Se você está começando a aprender SQL e está confuso com as diferenças entre SQL padrão e outras linguagens semelhantes como T-SQL, este artigo ajudará a deixar as coisas claras. Você não só aprenderá sobre a diferença entre SQL e T-SQL, mas também encontrará explicações sobre quais tópicos seria melhor começar a aprender primeiro: SQL padrão ou algo mais específico como MS SQL Server.

O que é SQL padrão?

SQL (Structured Query Language) é uma linguagem de programação básica ANSI/ISO padrão projetada para operar sobre dados armazenados em bancos de dados relacionais. Graças a estes padrões internacionais, os sistemas de bancos de dados relacionais que implementam esta linguagem permitem escrever consultas similares na maioria dos sistemas. É possível selecionar dados, manipular dados, criar objetos, gerenciar usuários e gerenciar bancos de dados. Os fornecedores de sistemas de gerenciamento de bancos de dados suportam a maioria das características dos padrões ANSI/ISO SQL, no entanto, as empresas também incluem suas próprias características não-padrão que estendem a linguagem. O aprendizado do chamado SQL padrão é fundamental para o aprendizado de outras extensões da linguagem como o T-SQL, porque estas extensões implementam a maioria das características SQL básicas. Por exemplo, não há diferença entre SQL e T-SQL quando se trata de cláusulas LIKE. Ao aprender o standardSQL você será capaz de operar com dados na maioria dos sistemas de banco de dados.

O que é T-SQL?

Como já temos SQL padrão suportado por fornecedores de bancos de dados relacionais, para que serve o T-SQL? Há alguma necessidade de aprender o T-SQL? Qual é a diferença entre SQL e T-SQL?

Embora quase todos os sistemas de bancos de dados relacionais utilizem SQL padrão, quase todos eles também incluem extensões não padronizadas da linguagem. A implementação específica de SQL utilizada no sistema de banco de dados do Microsoft SQL Server é chamada de linguagem Transact-SQL, ou T-SQL, para abreviar, T-SQL. O T-SQL tem mais características e mais funções do que as especificadas no padrão SQL. SQL é quase um subconjunto do T-SQL, portanto se você conhece o T-SQL, você também conhece o SQL padrão, porque ele contém quase todas as características do SQL padrão. A diferença entre SQL e T-SQL é que este último tem mais características destinadas a ajudá-lo a tornar a escrita da consulta mais fácil, mais rápida e mais eficiente. Portanto, se você trabalha no MS SQL Serve, você usa o T-SQL.

T-SQL vs. SQL padrão - Qual é a diferença?

Em outros sistemas de bancos de dados relacionais os nomes das extensões e as características adicionais são diferentes. Por exemplo, a Oracle tem a linguagem PL/SQL e o PostgreSQL implementa o PL/pgSQL.

Atualmente não há nenhuma implementação de SQL que inclua 100% das funcionalidades do SQL padrão, mas todas as implementações disponíveis incluem a maioria das funcionalidades padrão.

Veja a figura abaixo:

T-SQL vs. SQL padrão - Qual é a diferença?

Exemplos de diferenças entre o T-SQL e o SQL padrão

A primeira diferença entre SQL e T-SQL é a palavra-chave TOP, que é usada principalmente em uma declaração SELECT. Ela indica quantas linhas devem ser retornadas por uma consulta em um conjunto de resultados. TOP é colocado após SELECT junto com o número de linhas a serem retornadas. Por exemplo, a consulta a seguir retorna apenas os 12 primeiros resultados:

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

Você não encontra esta cláusula no SQL padrão - ela está disponível apenas no MS SQL Server. Você pode aprender mais sobre como e quando usar a instrução TOP no MS SQL Server no curso "SQL para Iniciantes no MS SQL Server".

Outra diferença entre SQL e T-SQL está na sintaxe da função SUBSTRING utilizada para cortar um substrato a partir de uma determinada entrada de string. No SQL padrão, a sintaxe desta função é:

SUBSTRING(str FROM start [FOR len])

No MS SQL Server, a sintaxe da função é:

SUBSTRING(str, start, len)

Nestas funções, str é uma determinada string para buscar, start é um número inicial de um caractere (o primeiro é 1) em uma string a partir do qual a função começará a buscar, e len é o comprimento da string para retornar.

Estes são apenas dois exemplos das diferenças entre SQL padrão e T-SQL, mas você pode aprender mais neste curso "SQL para Iniciantes no MS SQL Server" e neste "SQL para Iniciantes" curso.

O que é melhor para começar a aprender: SQL padrão ou T-SQL?

LearnSQL.com.br oferece dois cursos para iniciantes: "SQL para Iniciantes" e "SQL para Iniciantes no MS SQL Server". Você pode ficar confuso sobre qual escolher primeiro. Se você quiser aprender uma linguagem para se comunicar com qualquer banco de dados relacional, escolha o "SQL para Iniciantes" curso onde você aprenderá SQL padrão. O material que você aprender será universal, dando-lhe o poder de usar diferentes sistemas de gerenciamento de banco de dados relacionais (RDBMS). Se, entretanto, você quiser obter o conhecimento sobre T-SQL em particular, porque você planeja trabalhar com o sistema MS SQL Server, é bom começar com o curso "SQL para Iniciantes no MS SQL Server" para aprender o Transact-SQL em detalhes.

Resumo

A escolha de começar a aprender SQL padrão, T-SQL, ou qualquer outra variante, depende principalmente de saber se você saberá que estará usando um sistema de banco de dados específico. Comece qualquer um destes cursos a partir de LearnSQL.com.br hoje e você estará a caminho de escrever consultas SQL para dar sentido aos seus dados.