Voltar para a lista de artigos Artigos
13 minutos de leitura

Quanto Tempo Leva para Aprender SQL? Dicas Para Atingir a Proficiência em SQL

É difícil aprender SQL? Quanto tempo leva para dominar esta linguagem? Neste artigo, responderemos essas perguntas e ajudaremos você a desbravar os comandos mais úteis em SQL.

Quanto tempo leva para aprender SQL? Se você já estudou inglês ou francês, sabe que aprender uma nova linguagem é difícil e pode levar anos. Por sorte, dominar o SQL é uma jornada muito mais rápida do que aprender o uso do through/thorough ou contar un, deux, trois.

É difícil saber exatamente quanto tempo pode levar para aprender uma determinada coisa. Isso depende não apenas do seu ponto de partida, mas também do quão aberto você está a assimilar novas informações, da sua disponibilidade de tempo e da sua capacidade de reter informações. Algumas pessoas possuem os superpoderes de absorver e lembrar de novos conhecimentos, enquanto outros dominam o superpoder de "esquecer-tudo-no-dia-seguinte".

Brincadeiras à parte, você veio até aqui procurando uma resposta séria a uma pergunta muito válida. Quer saber a rapidez com que você pode aprender SQL? Logo logo chegaremos nesse número mágico.

Assim como aprender a fritar um ovo, amarrar os cadarços ou tocar um instrumento, aprender SQL não é algo que acontece da noite para o dia. No entanto, com muita prática - e algumas semanas ou meses se esforçando - você adicionará o SQL à sua caixa de ferramentas digitais num piscar de olhos.

Neste artigo, examinamos os três aspectos principais do SQL, algumas opções de como trilhar sua jornada de aprendizagem em SQL, e os obstáculos que você precisará enfrentar ao longo do caminho.

Lembre-se destas palavras sábias durante a jornada:

Você não precisa ser ótimo para começar, mas você precisa começar para ser ótimo.

Quanto mais se sabe, mais se sabe que não se sabe.

woah

Existe um pouco disso em todo tipo de aprendizado. Ao começar a explorar o mundo do SQL, você começará a perceber o quanto há para aprender. Não fique sobrecarregado. Um conhecimento sólido sobre os conceitos básicos podem te levar longe, mesmo em aplicações profissionais.

Há três 'níveis' chave de aprendizado de SQL. Pense em qual grupo você se encaixa e siga o seu caminho. Você não precisa chegar ao topo imediatamente enquanto existe tanto sucesso durante o percurso.

Aqui estão nossos três níveis de aprendizado de SQL:

1. SQL para Iniciantes

Boas notícias para os sem tempo ou sem motivação: ao aprender os comandos SQL SELECT, INSERT, UPDATE e DELETE, você provavelmente já percorreu 70% do caminho para se tornar proficiente em SQL. Melhor ainda, você terá atingido esse nível de proficiência em pouco tempo.

Aqui vai um exemplo rápido.

Imagine que somos uma agência de trabalho de super-heróis e temos um banco de dados dos nossos recrutas ativos e dos super-heróis que gostaríamos de contratar. Esta tabela, a qual chamaremos de Super-heróis - seria mais ou menos assim:

IDNomeAtivoHoraTrabalhoTipoTrabalho
1BatmanVerdadeiro10.95Integral
2Super HomemFalso8.50Meio Período
3Mulher MaravilhaVerdadeiro12.20Meio Período
4HulkVerdadeiro18.10Integral
5Homem de FerroFalso13.45Meio Período
6A VespaFalso10.90Integral

De quais conceitos SQL precisamos para trabalhar com estas informações?

SELECT

O SELECT é perfeito para quem está começando a trilhar um caminho no mundo do SQL. Uma declaração SELECT é estruturada desta forma:

SELECT * FROM Superherois

Como usamos SELECT * (o asterisco * significa "todas as colunas"), todas as colunas serão mostradas. Poderíamos usar uma cláusula WHERE para filtrar os registros, mas não o fizemos; isto significa que nosso resultado retornará todas as linhas da tabela.

IDNomeAtivoHoraTrabalhoTipoTrabalho
1BatmanVerdadeiro10.95Integral
2Super HomemFalso8.50Meio Período
3Mulher MaravilhaVerdadeiro12.20Meio Período
4HulkVerdadeiro18.10Integral
5Homem de FerroFalso13.45Meio Período
6A VespaFalso10.90Integral

O SELECT é quase sempre usado com uma cláusula WHERE, que ajuda a especificar os dados que queremos ver.

Se quiséssemos selecionar apenas os super-heróis que trabalham em tempo integral, a consulta ficaria assim:

SELECT * FROM Superherois
WHERE TipoTrabalho = 'Integral'
IDNomeAtivoHoraTrabalhoTipoTrabalho
1BatmanVerdadeiro10.95Integral
4HulkVerdadeiro18.10Integral
6A VespaFalso10.90Integral

INSERT, UPDATE e DELETE permitem que os usuários gerenciem os dados. Atualizar ou manter um banco de dados requer um conhecimento fundamental de SQL, e as instruções INSERT, UPDATE e DELETE são essenciais se o seu objetivo é aprender a linguagem SQL.

O curso da LearnSQL SQL para Iniciantes apresenta muitos desses conhecimentos fundamentais. Por enquanto, apresentaremos apenas INSERT, UPDATE e DELETE.

INSERT

Precisa adicionar uma ou várias linhas a uma tabela? A função para isso é INSERT. Ela também permite adicionar linhas de uma tabela em outra tabela.

Aqui está a estrutura básica de uma instrução SQL INSERT:

INSERT INTO nomeTabela (coluna1, coluna2, …)
VALUES (valor1, valor2, …)

Se quiséssemos inserir (INSERT) o Homem Aranha em nosso banco de dados de super-heróis, faríamos o seguinte:

INSERT INTO Superherois
           (Nome
           ,Ativo
           ,HoraTrabalho
           ,TipoTrabalho)
     VALUES
           ('Homem Aranha'
           ,'Verdadeiro'
           ,14.10
           ,'Meio Período')

Este seria o nosso resultado:

IDNomeAtivoHoraTrabalhoTipoTrabalho
1BatmanVerdadeiro10.95Integral
2Super HomemFalso8.50Meio Período
3Mulher MaravilhaVerdadeiro12.20Meio Período
4HulkVerdadeiro18.10Integral
5Homem de FerroFalso13.45Meio Período
6A VespaFalso10.90Integral
7Homem AranhaVerdadeiro14.10Meio Período

UPDATE

Com o SQL UPDATE, você pode alterar os valores das colunas em uma ou mais linhas. A estrutura mais comum para a instrução UPDATE em SQL é esta:

UPDATE nomeTabela
SET coluna1=valor1, coluna2=valor2,...
WHERE colunaFiltro=valorFiltro

Se quiséssemos mostrar que o Homem de Ferro está em nossos registros e tem uma nova hora de trabalho no valor de 18,5, nossa declaração UPDATE e o resultado ficariam assim:

UPDATE Superherois
SET
	Ativo = 'Verdadeiro',
	HoraTrabalho = 18.5
WHERE
	ID = 5
IDNomeAtivoHoraTrabalhoTipoTrabalho
1BatmanVerdadeiro10.95Integral
2Super HomemFalso8.50Meio Período
3Mulher MaravilhaVerdadeiro12.20Meio Período
4HulkVerdadeiro18.10Integral
5Homem de FerroVerdadeiro18.50Meio Período
6A VespaFalso10.90Integral
7Homem AranhaVerdadeiro14.10Meio Período

DELETE

DELETE remove uma ou mais linhas de uma tabela. Se você é novo em SQL, certifique-se de estar usando um banco de dados de teste antes de tentar usar este comando, porque muitas vezes não há como recuperar o que você apagou!

As instruções DELETE geralmente são assim:

DELETE nomeTabela
WHERE  colunaFiltro=valorFiltro;

Se um de nossos super-heróis partir cedo demais e precisarmos removê-lo do banco de dados, faremos o seguinte:

DELETE FROM Superherois
WHERE ID = 5

O resultado? Adeus, Homem de Ferro.

IDNomeAtivoHoraTrabalhoTipoTrabalho
1BatmanVerdadeiro10.95Integral
2Super HomemFalso8.50Meio Período
3Mulher MaravilhaVerdadeiro12.20Meio Período
4HulkVerdadeiro18.10Integral
6A VespaFalso10.90Integral
7Homem AranhaVerdadeiro14.10Meio Período

2. SQL JOINs

Na linguagem SQL, os JOINs acrescentam mais 10% à sua base de conhecimentos. Os JOINs unem diferentes tabelas para que os dados possam ser analisados de forma conjunta.

Isto é bastante útil se você tiver categorias diferentes de dados armazenados em tabelas distintas, ou se você quiser comparar novos dados com dados dentro de um banco de dados pré-existente.

Há vários tipos de JOINs em SQL. A estrutura básica de um JOIN é:

SELECT Colunas
 FROM Tabela1
JOIN Tabela2 ON Tabela1.Coluna = Tabela2.Coluna

Continuando nosso exemplo, vamos imaginar que queremos saber qual super-herói pertence a qual Universo. Temos uma tabela chamada UniversoDoSuperHeroi que contém a identificação do super-herói e o nome do Universo ao qual ele pertence. Queremos juntar as duas tabelas para que possamos mostrar o Universo quando estivermos consultando a tabela Superherois.

Aqui está a tabela UniversoDoSuperHeroi:

IDIdSuperHeroiUniverso
11DC
22DC
33DC
44Marvel
55Marvel
66Marvel
77Marvel

E aqui está nossa consulta utilizando JOIN:

SELECT Superherois.ID, Nome, UniversoDoSuperHeroi.Universo 
FROM Superherois
JOIN UniversoDoSuperHeroi ON UniversoDoSuperHeroi.ID = Superherois.ID

O resultado é o seguinte:

IDNomeUniverso
1BatmanDC
2Super HomemDC
3Mulher MaravilhaDC
4HulkMarvel
6A VespaMarvel
7Homem AranhaMarvel

Como ambas as tabelas possuem um campo chamado ID, precisamos dizer explicitamente qual coluna de ID mostrar em nossos resultados. Na parte Superherois.ID do SELECT, Superherois refere-se à tabela e ID refere-se à coluna. O mesmo vale para a parte UniversoDoSuperHeroi.Universo do SELECT, onde UniversoDoSuperHeroi se refere à tabela e Universo se refere à coluna. Você pode ver isso na primeira coluna após o SELECT.

3. O resto

E depois vem o resto. Todos os detalhes e atributos do SQL se encaixam nesta categoria, e embora não sejam coisas que você precisa saber no início, eles podem ser muito importantes.

Você sabe projetar um esquema de banco de dados que funcione? Sabe ler um plano de consulta? Quando usar uma chave natural ou uma chave substituta? Tudo isso e muito mais fazem parte da categoria "o resto". Em termos de tempo para aprender, bem, existem pessoas que trabalham com SQL há mais de 10 anos e ainda não conhecem todo "o resto".

Não deixe que isso te desanime. Aprender é um hábito para a vida toda, e não é muito divertido aprender tudo num piscar de olhos.

O que um iniciante em SQL deve saber? Recomendo que você se familiarize com estes tópicos:

  • Comandos SQL básicos como SELECT, INSERT, UPDATE e DELETE.
  • Expressões simples WHERE
  • Os muitos tipos de JOINs em SQL
  • GROUP BY, ORDER BY e HAVING
  • Subconsultas básicas
  • Chaves primárias e chaves estrangeiras

Bateu um desespero? Não se preocupe! Pense assim: os usuários da língua inglesa podem ser considerados falantes funcionais com um vocabulário de cerca de 5.000 palavras. É possível escrever até mesmo um livro com essas palavras. Mas será que eles estariam no mesmo nível de Shakespeare ou Mark Twain? É claro que não. Ser proficiente em SQL não significa ter todas as respostas. Você só precisa saber cerca de 5% de SQL para realizar a maioria das tarefas importantes.

Agora que já deixamos isso claro, então, qual é o número mágico? Quanto tempo leva para aprender SQL? Com base na nossa experiência coletiva, muitas pesquisas e uma pitada de generalização, eis nossa projeção altamente não-científica de quanto tempo leva para aprender SQL:

  • Aprendendo e praticando o básico? De um dia a três meses.
  • O resto? Você nunca vai parar de aprender.

Desafios Para Aprender SQL

Como um iniciante em SQL - mesmo que você tenha muita experiência em TI - você enfrentará uma série de desafios. A linguagem SQL geralmente é simples de aprender, principalmente por utilizar comandos de senso comum, baseados na língua inglesa. Existem, no entanto, alguns obstáculos para atingir a tão esperada proficiência:

Acostumando-se a Pensar em Conjuntos

Uma coisa é aprender SQL para gerenciar um ou mais bancos de dados, mas antes pode ser necessário se acostumar com o mundo dos conjuntos.

Os bancos de dados estão no centro da maioria das aplicações e são feitos para processar dados em conjuntos. O próprio SQL deve negociar com bancos de dados usando conjuntos, portanto, desenvolver uma mentalidade baseada em conjuntos será de grande ajuda enquanto você começa a se aventurar no mundo do SQL.

Se você não está familiarizado com a Teoria dos Conjuntos, faça um curso intensivo no Google primeiro - ele o preparará para ter mais sucesso como um estudante de SQL.

Quase todas as áreas da ciência da computação giram em torno de conjuntos, portanto, dedicar tempo e atenção a este tópico agora pode te poupar muito tempo no futuro.

Conhecimento Teórico x Conhecimento da Vida Real

O segundo obstáculo para aprender SQL não é bem um obstáculo, mas sim uma armadilha. Para aprender SQL, você precisará ler muito. Você precisará ler e aprender as instruções básicas, ler e aprender as premissas básicas de SQL e como fazer suas consultas, e ler e aprender sobre a teoria dos conjuntos e a estrutura do banco de dados.

PORÉM, uma vez que você tenha feito algumas leituras iniciais, nosso conselho é: vá fundo. Entre em um banco de dados (de preferência um de teste), crie ou encontre alguns cenários e use seus novos conhecimentos sobre instruções SQL básicas para praticar.

A lacuna entre o conhecimento teórico e o conhecimento da vida real no SQL é enorme, e você precisará preencher essa lacuna com muitos exercícios práticos.

Dominando o design de banco de dados

Você pode aprimorar o quanto quiser sua habilidade de executar instruções SQL e trabalhar com um ou mais bancos de dados, mas se não entender os princípios do projeto de banco de dados, acabará criando e mantendo bancos confusos e que tendem a gerar problemas. Estes bancos de dados podem trabalhar contra você, e não para você.

Antes de avançar na jornada SQL, faça um pequeno desvio e aprenda um pouco sobre um bom projeto de bancos de dados.

Muitos bancos de dados são criados por pessoas que não têm muita experiência em projetar e desenvolver bancos de dados. Infelizmente, isto frequentemente leva a decisões técnicas que mais tarde se mostram imprecisas, o que acaba gerando muita frustração, muito trabalho e até mesmo possíveis erros nos dados.

Qual é a Melhor Maneira de Aprender SQL?

Não importa quanto tempo leve para aprender SQL, sua experiência será muito melhor se você seguir algumas dicas. Aqui estão nossas três principais dicas para tornar sua experiência de aprendizagem em SQL um processo rápido e indolor:

1.Comece com o Básico

Aprender aspectos mais complexos do SQL pode levar anos - na verdade, a maioria dos especialistas dizem que nunca param de aprender. Por isso, não comece achando que você logo receberá uma medalha de ouro em SQL. Além de serem fáceis e rápidas de aprender, as funções básicas representam grande parte do que você precisará saber para usar o SQL em um nível profissional.

Pode variar de pessoa para pessoa mas, no geral, aprender instruções básicas em SQL pode levar de algumas horas a algumas semanas. Pode levar meses para dominá-las, mas ao entender os conceitos por trás de instruções como INSERT, UPDATE e DELETE, você estará numa posição muito favorável para usar essas instruções no mundo real.

É melhor se ater aos Conceitos Básicos de SQL até que você sinta que os domina. Se você partir para a criação de consultas complexas antes da hora, pode se preparar para cometer erros grandes mais tarde.

2.Faça um Curso Online

Você pode ser um grande autodidata, mas ao se ensinar SQL do zero, você corre o risco de complicar demais as coisas. O básico de SQL é bastante simples, e muitas pessoas já percorreram esta jornada de aprendizagem antes de você. O caminho mais lógico, então, é seguir o caminho já percorrido e fazer um curso que ensina apenas o que é necessário e lhe dá muitas oportunidades de praticar.

3. Invista em uma Aprendizagem Prática

Aprendendo a pilotar um avião? Fazer cirurgias? Dividir átomos? Você com certeza precisar ler bastante primeiro. No entanto, para o SQL, a melhor coisa que você pode fazer é partir direto para a prática. Encontre um banco de dados gratuito de código aberto e comece a compor e executar consultas básicas.

Se você encontrar um bom banco de dados de teste, estude-o. Verifique o código das diferentes consultas e procedimentos. Dessa forma, você se acostumará com o SQL rapidinho. Trabalhar com exemplos do mundo real em um ambiente de banco de dados de teste é a melhor ferramenta de aprendizagem.

Nas palavras imortais de Benjamin Franklin:

"Diga-me e eu esquecerei. Ensine-me e eu me lembrarei. Envolva-me e eu aprenderei".

(Não seria um artigo online sem Benjamin Franklin!)

Ganhe Vantagem no SQL com a Vertabelo

Quão difícil é aprender SQL?

Bem, você nunca saberá tudo... pelo menos não completamente. Da mesma forma que você ainda está descobrindo novas palavras em português ou inglês, sempre haverá um novo truque para aprender no SQL. Dito isto, existe muito a se aprender, e um conhecimento sólido sobre os conceitos básicos permitirá que você se torne um verdadeiro usuário de SQL em algumas semanas.

Um ótimo lugar para começar é em um curso SQL online. Encontre um no qual você possa praticar o uso da linguagem imediatamente. A LearnSQL.com.br oferece um curso fantástico chamado SQL para Iniciantes , que torna o aprendizado de SQL rápido e fácil. Através dos 129 exercícios interativos disponíveis, você terá experiências práticas de trabalho com bancos de dados e instruções SQL.

Após avançar nessa jornada, confira nosso curso sobre INSERT, UPDATE e DELETE. Ele expandirá seus conhecimentos recém-adquiridos sobre as principais instruções SQL.

Os bancos de dados podem parecer bichos de sete cabeças, e a melhor maneira de domá-los é através de aprendizado, muita prática e infinitas pesquisas no Google.

Quanto mais cedo você começar, mais cedo vai chegar lá! Boa sorte!