SQL Básico: Guia Interativo dos Comandos Essenciais

Aprenda os comandos SQL essenciais do dia a dia com exemplos interativos. O ponto de partida perfeito para dominar a linguagem dos dados.

Dominar SQL (Structured Query Language) é uma habilidade essencial para qualquer profissional de tecnologia que precise extrair, analisar ou validar dados. Seja você um QA garantindo a integridade de um banco de dados após um teste, ou um BA buscando insights para o negócio, saber "conversar" com os dados é um superpoder.

Este artigo é um guia prático e interativo. Para cada comando, você encontrará uma demonstração visual que simula a execução em um banco de dados real.

Navegue pelos Comandos:

  1. 1. SELECT
  2. 2. WHERE
  3. 3. ORDER BY
  4. 4. INSERT INTO
  5. 5. UPDATE
  6. 6. DELETE
  7. 7. JOIN
  8. 8. GROUP BY
  9. 9. LEFT JOIN
  10. 10. HAVING

1. SELECT: O Comando para "Ver" os Dados

Imagine que o banco de dados é um armário gigante cheio de pastas (tabelas). O comando SELECT é como dizer: "Ei, me mostre o que tem dentro desta pasta!". Ele serve para buscar e ler informações, sem alterar nada. A tabela abaixo, por exemplo, se chama clientes e possui as colunas id, nome e estado.

SELECT * FROM clientes;
idnomeestado
1AnaSP
2BrunoRJ
3CarlosSP

2. WHERE: O Filtro Inteligente

Depois de selecionar uma pasta, você não quer ler todos os papéis, apenas os que interessam. A cláusula WHERE é o seu filtro. Com ela, você diz: "Me mostre apenas os clientes que moram em 'SP'".

SELECT * FROM clientes WHERE estado = 'SP';
idnomeestado
1AnaSP
2BrunoRJ
3CarlosSP

3. ORDER BY: Organizando a Bagunça

Os dados vêm do banco de dados sem uma ordem específica. O ORDER BY serve para organizar a sua lista. Você pode ordenar por nome (em ordem alfabética, ASC) ou por preço (do mais caro para o mais barato, DESC).

SELECT * FROM produtos ORDER BY preco DESC;
produtopreco
Caneta19.99
Teclado99.90
Mouse49.50

4. INSERT INTO: O "C" do CRUD (Create)

O comando INSERT INTO é a operação de Criação (Create) no mundo SQL. Ele é usado para adicionar um novo papel (registro) a uma pasta (tabela). Você precisa dizer em qual tabela quer inserir, quais colunas vai preencher e, finalmente, os valores que quer adicionar.

INSERT INTO fornecedores (nome, cidade) VALUES ('TechCorp', 'São Paulo');
idnomecidade
1Papelaria ABCCuritiba

5. UPDATE: Corrigindo Informações

Imagine que você escreveu algo errado em um papel e precisa corrigir. O UPDATE é a sua borracha e caneta. Ele serve para modificar um dado que já existe. É crucial usar a cláusula WHERE para dizer exatamente qual registro você quer alterar!

UPDATE clientes SET email = 'novo.email@exemplo.com' WHERE id = 5;
idnomeemail
4Danieladaniela@email.com
5Eduardoedu@email.com

6. DELETE: Jogando Dados Fora

Às vezes, um papel no seu armário não é mais necessário. O DELETE é a sua lixeira. Ele serve para remover um registro (uma linha inteira) de uma tabela. Assim como no UPDATE, o uso do WHERE é fundamental para não apagar a tabela inteira por acidente!

DELETE FROM clientes WHERE id = 10;
idnomestatus
9FabianaAtivo
10GabrielInativo
11HeloisaAtivo

7. JOIN: O Super-Grampo de Tabelas

Imagine que você tem duas pastas: uma com os dados dos clientes e outra com os pedidos. Como saber qual pedido é de qual cliente? O JOIN é o seu super-grampo! Ele junta informações de duas ou mais tabelas que têm uma coluna em comum (como o id_cliente).

SELECT clientes.nome, pedidos.data_pedido FROM clientes JOIN pedidos ON clientes.id = pedidos.id_cliente;

Tabelas Originais:

clientes
idnome
1Ana
2Bruno
pedidos
id_pedidoid_clientedata_pedido
10122024-01-05
10212024-01-10

8. GROUP BY: O Organizador de Grupos

O GROUP BY é como um organizador de festa que agrupa pessoas por características em comum. Por exemplo: "Todos que são de 'SP', fiquem aqui. Todos que são do 'RJ', fiquem ali". Ele é quase sempre usado com funções de agregação (como COUNT para contar, SUM para somar ou AVG para calcular a média) para criar relatórios e resumos dos dados.

SELECT estado, COUNT(*) FROM clientes GROUP BY estado;

Tabela Original:

idnomeestado
1AnaSP
2BrunoRJ
3CarlosSP
4DanielaMG
5EduardoRJ

9. LEFT JOIN: Trazendo Todos, Mesmo os Solitários

O LEFT JOIN é uma variação do JOIN. Enquanto o JOIN normal só mostra clientes que fizeram pedidos, o LEFT JOIN mostra todos os clientes da tabela da esquerda, e preenche com NULL (vazio) se não houver um pedido correspondente. É perfeito para encontrar quem ainda não comprou nada!

SELECT clientes.nome, pedidos.id_pedido FROM clientes LEFT JOIN pedidos ON clientes.id = pedidos.id_cliente;

Tabelas Originais:

clientes
idnome
1Ana
2Bruno
3Carlos
pedidos
id_pedidoid_cliente
1012
1021

10. HAVING: O Filtro para Grupos

Se o WHERE filtra linhas individuais, o HAVING filtra os resultados de um grupo. Ele é sempre usado depois do GROUP BY. A pergunta muda de "quais clientes são de SP?" (WHERE) para "quais estados têm mais de 1 cliente?" (HAVING).

SELECT estado, COUNT(*) FROM clientes GROUP BY estado HAVING COUNT(*) > 1;
estadoCOUNT(*)
SP2
RJ2
MG1