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.
abr. 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 em duas tabelas em um exemplo de banco de dados relacional. Ambas as tabelas contêm colunas denominadas customer_id, que estabelecem um relacionamento 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.

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. 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 aprendizado, com algumas distinções claras (e menos claras) entre os diferentes dialetos. Então, por onde você começa? Qual versão do 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 populares - PostgreSQL, MySQL, SQLite e SQL Server - e suas versões da sintaxe SQL.

O gráfico abaixo, do 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 sido consistentemente a versão mais popular do SQL nas perguntas do Stack Overflow. O segundo na fila é o Microsoft SQL Server (incluindo o T-SQL, o nome do dialeto de SQL da Microsoft), que continua sendo uma marca consistentemente mais popular que o PostgreSQL e o SQLite. Isso significa que, se você tiver uma pergunta específica para um desses sistemas, é mais provável que descubra que alguém 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
SELECIONAR ... Selecione [col1], [col2] SELECT col1, col2 SELECT col1, col2 SELECT col1, col2
Os dados das tabelas diferenciam maiúsculas de minúsculas? Sim WHERE name = 'John' Ou WHERE name = 'john' não são a mesma coisa Não WHERE name = 'John' ou WHERE name = 'john' são iguais Sim WHERE name = 'John' Ou WHERE name = 'john' não são a mesma coisa Sim WHERE name = 'John' Ou WHERE name = 'john' não são a mesma coisa
Uso de aspas nome = "John" apenas name = 'John' ou name = "John" nome = "John" apenas 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
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, recomendo começar com o PostgreSQL. Apesar da enorme popularidade do MySQL, o PostgreSQL pode ser uma opção melhor porque sua sintaxe está mais próxima do SQL padrão. Isso significa que você pode facilmente traduzir 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. Ele contém uma união, uma função de agregação e um filtro. Essa sintaxe gerará resultados idênticos em todos os 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 T-SQL/Microsoft SQL. O SQL Server continua a manter 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 as vagas de emprego em sua área para determinar se há preferência por um sistema de banco de dados específico em funções ou setores específicos.

Como a 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, incluindo um curso de Introdução ao T-SQL/Microsoft SQL que fornecerá a você uma base clara para trabalhar com o SQL Server. Para obter mais informações, consulte o roteiro do curso.

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

Venha ensinar conosco!

Tem interesse em compartilhar seu conhecimento e experiência com nossos 3 milhões de alunos no DataCamp? Estamos sempre procurando instrutores para contribuir com nossa crescente biblioteca de cursos. Nossa lista de cursos destaca as habilidades que esperamos disponibilizar aos nossos alunos nos próximos meses. Você pode se inscrever aqui neste link. Estamos ansiosos para trabalhar com você!

Temas

Cursos para SQL

Course

Introduction to SQL

2 hr
661.7K
Learn how to create and query relational databases using SQL in just two hours.
See DetailsRight Arrow
Start Course
Veja 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.
Javier Canales Luna 's photo

Javier Canales Luna

12 min

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

14 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.
Javier Canales Luna's photo

Javier Canales Luna

15 min

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