Pular para o conteúdo principal
InicioBlogSQL

SQL Server, PostgreSQL, MySQL... qual é a diferença? Por onde devo começar?

Neste tutorial, você aprenderá algumas das diferenças básicas entre os dialetos SQL e por onde deve começar.
Actualizado 15 de jul. de 2024  · 5 min leer

Um banco de dados relacional é um conjunto de tabelas (conjuntos de dados com linhas e colunas) que contêm informações relacionadas a outras tabelas do banco de dados.

O diagrama abaixo contém informações sobre colunas de duas tabelas em um exemplo de banco de dados relacional. Ambas as tabelas contêm colunas denominadas customer_id, o que estabelece uma relação entre as tabelas. À medida que a empresa cresce e registra milhares (ou milhões) de pedidos, o armazenamento de dados em tabelas separadas ajuda a otimizar o espaço e a reduzir o tamanho do banco de dados.

A SQL, ou Structured Query Language (linguagem de consulta estruturada), é a linguagem padrão para interagir com bancos de dados relacionais. Com o SQL, você pode consultar ou fazer perguntas sobre os dados em um banco de dados relacional. Saber trabalhar com SQL e bancos de dados relacionais é um conjunto de habilidades inestimável para um analista de dados, engenheiro de dados ou cientista de dados.

Se você começou a procurar maneiras de aprender SQL, deve ter notado os vários dialetos diferentes de SQL disponíveis para aprender, com algumas distinções claras (ou não tão claras) entre os diferentes dialetos. Então, por onde começar? Qual versão de SQL é mais útil para você, caso não a tenha usado antes? Neste artigo, vamos nos concentrar em quatro dos sistemas de gerenciamento de banco de dados mais conhecidos – PostgreSQL, MySQL, SQLite e SQL Server – e em suas versões da sintaxe SQL.

O gráfico abaixo, da Stack Overflow Trends, dá uma ideia da frequência com que cada uma dessas plataformas é discutida: cada linha representa a porcentagem de todas as perguntas do Stack Overflow sobre cada versão do SQL.

O MySQL tem se mantido como a versão mais famosa do SQL nas perguntas do Stack Overflow. O segundo da lista é o Microsoft SQL Server (incluindo o T-SQL, nome do dialeto de SQL da Microsoft), que continua sendo uma marca mais famosa que o PostgreSQL e o SQLite. Isso significa que, se você tiver uma dúvida específica de um desses sistemas, é mais provável encontrar alguém que já fez a sua pergunta.

Qual é a diferença?

O PostgreSQL, o MySQL e o SQLite usam uma sintaxe muito semelhante, com algumas diferenças notáveis destacadas abaixo. O Microsoft SQL Server tem o maior contraste na sintaxe SQL, além de uma ampla variedade de funções não disponíveis em outras plataformas. A tabela abaixo destaca alguns exemplos de diferenças básicas entre as plataformas SQL.

  SQL Server MySQL PostgreSQL SQLite
SELECT ... Select [col1], [col2] SELECT col1, col2 SELECT col1, col2 SELECT col1, col2
Há distinção entre maiúsculas e minúsculas nos dados das tabelas? Sim: WHERE name = ‘John’ e WHERE name = ‘john’ não são a mesma coisa Não: WHERE name = ‘John’ e WHERE name = ‘john’ são a mesma coisa Sim: WHERE name = ‘John’ e WHERE name = ‘john’ não são a mesma coisa Sim: WHERE name = ‘John’ e WHERE name = ‘john’ não são a mesma coisa
Uso de aspas name = ‘John’ somente name = ‘John’ ou name = “John” name = ‘John’ somente name = ‘John’ ou name = “John”
Aliases para colunas e tabelas SELECT AVG(col1)=avg1 SELECT AVG(col1) AS avg1 SELECT AVG(col1) AS avg1 SELECT AVG(col1) AS avg1
Como trabalhar com datas GETDATE() DATEPART() CURDATE() CURTIME() EXTRACT() CURRENT_DATE() CURRENT_TIME() EXTRACT() DATE(‘now’) strftime()
Funções de janela, ou seja, OVER(), PARTITION BY() Sim. Sim. Sim. Sim.

Por onde devo começar?

Para os alunos que têm pouca ou nenhuma experiência com SQL e estão buscando adquirir as habilidades mais amplamente aplicáveis, minha recomendação é começar pelo PostgreSQL. Apesar da enorme popularidade do MySQL, o PostgreSQL pode ser uma opção melhor, pois sua sintaxe está mais próxima do SQL padrão. Isso significa que é mais fácil levar suas habilidades para outros sistemas de gerenciamento de banco de dados, como MySQL ou SQLite. Por exemplo: a consulta abaixo agrega dados de um banco de dados de informações de vendas. Contém uma junção, uma função de agregação e um filtro. Essa sintaxe gera resultados idênticos nos três sistemas de banco de dados.

Select    
    c.customer_name,
    SUM(p.amount) AS total_sales
FROM customers AS c
    LEFT JOIN purchases AS p
    ON c.customers_id = p.customer_id
WHERE
    c.customer_location = 'USA'
GROUP BY
    c.customer_name;

Se você pretende trabalhar com o Microsoft SQL Server em sua carreira, recomendo que comece aprendendo o T-SQL/Microsoft SQL. O SQL Server continua mantendo uma participação de mercado considerável e é um sistema de gerenciamento de banco de dados importante em muitos setores. Se não tiver certeza de qual dos dois é mais importante para você, recomendo pesquisar vagas de emprego em sua área para identificar se há preferência por um sistema de banco de dados específico em determinados cargos ou setores.

Como o DataCamp pode ajudar?

No DataCamp, atualmente oferecemos dois cursos de SQL que abrangem tópicos introdutórios e junções no PostgreSQL. Temos alguns cursos interessantes em desenvolvimento que abrangem tópicos intermediários e avançados do PostgreSQL. Também temos vários cursos de SQL Server em desenvolvimento, inclusive um curso de Introdução ao T-SQL/Microsoft SQL que proporciona uma base clara para trabalhar com o SQL Server. Você pode conferir o roteiro do curso para obter mais informações.

Se quiser praticar a interação com um banco de dados PostgreSQL por conta própria, recomendo analisar conjuntos de dados no Kaggle. Se você encontrar algo que lhe interesse, importe para o PostgreSQL (arquivos CSV ou SQLite são importados para o PostgreSQL) e comece a explorar!

Venha ensinar conosco!

Você tem interesse em dividir seus conhecimentos e experiência com os 3 milhões de alunos do DataCamp? Estamos sempre procurando instrutores para contribuir com a nossa biblioteca de cursos em constante crescimento. Nossa lista de cursos desejados destaca as habilidades que esperamos disponibilizar aos alunos nos próximos meses. Você pode se inscrever aqui neste link. Estamos ansiosos para trabalhar com você!

Temas

Cursos de SQL

Course

Introduction to SQL

2 hr
782.2K
Learn how to create and query relational databases using SQL in just two hours.
See DetailsRight Arrow
Start Course
Ver maisRight Arrow
Relacionado

blog

SQL vs Python: Qual você deve aprender?

Neste artigo, abordaremos os principais recursos do Python e do SQL, suas principais semelhanças e diferenças, e qual deles você deve escolher primeiro para iniciar sua jornada na ciência de dados.
SQL Programming Language

blog

O que é SQL? - A linguagem essencial para o gerenciamento de bancos de dados

Saiba tudo sobre o SQL e por que ele é a linguagem de consulta ideal para o gerenciamento de bancos de dados relacionais.
Summer Worsley's photo

Summer Worsley

16 min

blog

R vs. SQL - o que devo aprender?

Descubra tudo o que você precisa saber sobre R e SQL, ajudando-o a escolher qual deles é o melhor para aprender de acordo com suas necessidades.
Matt Crabtree's photo

Matt Crabtree

9 min

tutorial

Tutorial do MySQL: Um guia abrangente para iniciantes

Descubra o que é o MySQL e como começar a usar um dos sistemas de gerenciamento de banco de dados mais populares.

tutorial

Tutorial de visão geral do banco de dados SQL

Neste tutorial, você aprenderá sobre bancos de dados em SQL.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Exemplos e tutoriais de consultas SQL

Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

See MoreSee More