DEV Community

Cover image for SQL (Structured Query Language)
Henrique Vital
Henrique Vital

Posted on

SQL (Structured Query Language)

SQL (Structured Query Language) é a linguagem padrão para manipulação e consulta de bancos de dados relacionais. Vamos aprender os conceitos básicos e exemplos de consultas SQL.

1. Seleção de Dados (SELECT)

A consulta SELECT é usada para recuperar dados de uma tabela.

Sintaxe básica:

SELECT coluna1, coluna2, ...
FROM tabela;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

SELECT nome, idade
FROM alunos;
Enter fullscreen mode Exit fullscreen mode

Essa consulta retorna as colunas nome e idade da tabela alunos.

Seleção de todas as colunas:

SELECT *
FROM alunos;
Enter fullscreen mode Exit fullscreen mode

O asterisco (*) significa que queremos todas as colunas da tabela.

Limitar o número de resultados:

Você pode usar o LIMIT (ou TOP em alguns bancos de dados como SQL Server) para limitar o número de resultados.

Exemplo:

SELECT nome, idade
FROM alunos
LIMIT 5;
Enter fullscreen mode Exit fullscreen mode

Isso retorna os primeiros 5 registros da tabela alunos.


2. Filtragem de Dados (WHERE)

O WHERE é usado para filtrar os resultados com base em uma condição.

Sintaxe básica:

SELECT coluna1, coluna2, ...
FROM tabela
WHERE condição;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

SELECT nome, idade
FROM alunos
WHERE idade > 18;
Enter fullscreen mode Exit fullscreen mode

Esse comando retorna todos os alunos com idade superior a 18 anos.

Operadores de comparação:

  • =: Igual
  • != ou <>: Diferente
  • >: Maior que
  • <: Menor que
  • >=: Maior ou igual
  • <=: Menor ou igual

Operadores lógicos:

  • AND: Ambas as condições devem ser verdadeiras.
  • OR: Pelo menos uma das condições deve ser verdadeira.

Exemplo com AND:

SELECT nome, idade
FROM alunos
WHERE idade > 18 AND nome LIKE 'J%';
Enter fullscreen mode Exit fullscreen mode

Esse comando retorna alunos com idade superior a 18 e cujo nome começa com a letra "J".


3. Ordenação de Dados (ORDER BY)

O ORDER BY é usado para ordenar os resultados.

Sintaxe:

SELECT coluna1, coluna2, ...
FROM tabela
ORDER BY coluna1 ASC|DESC;
Enter fullscreen mode Exit fullscreen mode
  • ASC: Ordena de forma ascendente (padrão).
  • DESC: Ordena de forma descendente.

Exemplo:

SELECT nome, idade
FROM alunos
ORDER BY idade DESC;
Enter fullscreen mode Exit fullscreen mode

Essa consulta retorna todos os alunos, ordenados pela idade em ordem decrescente.


4. Agrupamento de Dados (GROUP BY)

O GROUP BY é usado para agrupar os dados com base em uma ou mais colunas. Ele é frequentemente usado com funções agregadas como COUNT, SUM, AVG, MIN e MAX.

Sintaxe:

SELECT coluna, COUNT(*)
FROM tabela
GROUP BY coluna;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

SELECT idade, COUNT(*)
FROM alunos
GROUP BY idade;
Enter fullscreen mode Exit fullscreen mode

Essa consulta retorna a contagem de alunos para cada idade.

Funções Agregadas:

  • COUNT(*): Conta o número de registros.
  • SUM(coluna): Soma os valores de uma coluna.
  • AVG(coluna): Calcula a média dos valores de uma coluna.
  • MIN(coluna): Retorna o valor mínimo.
  • MAX(coluna): Retorna o valor máximo.

Exemplo com AVG:

SELECT AVG(idade)
FROM alunos;
Enter fullscreen mode Exit fullscreen mode

Isso retorna a média da idade dos alunos.


5. Joins (União de Tabelas)

Joins são usados para combinar dados de duas ou mais tabelas.

Tipos de JOIN:

  • INNER JOIN: Retorna apenas os registros que têm correspondência em ambas as tabelas.
  • LEFT JOIN (ou LEFT OUTER JOIN): Retorna todos os registros da tabela à esquerda, e os registros correspondentes da tabela à direita.
  • RIGHT JOIN (ou RIGHT OUTER JOIN): Retorna todos os registros da tabela à direita, e os registros correspondentes da tabela à esquerda.
  • FULL JOIN (ou FULL OUTER JOIN): Retorna registros quando há uma correspondência em qualquer uma das tabelas.

Sintaxe do INNER JOIN:

SELECT tabela1.coluna, tabela2.coluna
FROM tabela1
INNER JOIN tabela2 ON tabela1.coluna_comum = tabela2.coluna_comum;
Enter fullscreen mode Exit fullscreen mode

Exemplo de INNER JOIN:

SELECT alunos.nome, cursos.nome
FROM alunos
INNER JOIN cursos ON alunos.curso_id = cursos.id;
Enter fullscreen mode Exit fullscreen mode

Isso retorna o nome do aluno e o nome do curso, fazendo a correspondência com base no curso_id do aluno e o id do curso.

Sintaxe do LEFT JOIN:

SELECT tabela1.coluna, tabela2.coluna
FROM tabela1
LEFT JOIN tabela2 ON tabela1.coluna_comum = tabela2.coluna_comum;
Enter fullscreen mode Exit fullscreen mode

6. Inserir Dados (INSERT INTO)

O INSERT INTO é usado para inserir dados em uma tabela.

Sintaxe:

INSERT INTO tabela (coluna1, coluna2, ...)
VALUES (valor1, valor2, ...);
Enter fullscreen mode Exit fullscreen mode

Exemplo:

INSERT INTO alunos (nome, idade, curso_id)
VALUES ('João', 20, 1);
Enter fullscreen mode Exit fullscreen mode

Esse comando insere um novo aluno chamado "João", com idade 20 e curso com curso_id 1.


7. Atualizar Dados (UPDATE)

O UPDATE é usado para modificar dados existentes em uma tabela.

Sintaxe:

UPDATE tabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

UPDATE alunos
SET idade = 21
WHERE nome = 'João';
Enter fullscreen mode Exit fullscreen mode

Este comando atualiza a idade de João para 21.


8. Excluir Dados (DELETE)

O DELETE é usado para excluir registros de uma tabela.

Sintaxe:

DELETE FROM tabela
WHERE condição;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

DELETE FROM alunos
WHERE nome = 'João';
Enter fullscreen mode Exit fullscreen mode

Este comando exclui o registro do aluno chamado "João".


9. Criar Tabela (CREATE TABLE)

O CREATE TABLE é usado para criar uma nova tabela no banco de dados.

Sintaxe:

CREATE TABLE tabela (
    coluna1 tipo_dado,
    coluna2 tipo_dado,
    ...
);
Enter fullscreen mode Exit fullscreen mode

Exemplo:

CREATE TABLE alunos (
    id INT PRIMARY KEY,
    nome VARCHAR(100),
    idade INT,
    curso_id INT
);
Enter fullscreen mode Exit fullscreen mode

Esse comando cria uma tabela chamada alunos com as colunas id, nome, idade e curso_id.


10. Alterar Tabela (ALTER TABLE)

O ALTER TABLE é usado para modificar a estrutura de uma tabela existente.

Sintaxe para adicionar uma coluna:

ALTER TABLE tabela
ADD coluna tipo_dado;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

ALTER TABLE alunos
ADD email VARCHAR(100);
Enter fullscreen mode Exit fullscreen mode

Esse comando adiciona a coluna email à tabela alunos.

Sintaxe para remover uma coluna:

ALTER TABLE tabela
DROP COLUMN coluna;
Enter fullscreen mode Exit fullscreen mode

Exemplo:

ALTER TABLE alunos
DROP COLUMN email;
Enter fullscreen mode Exit fullscreen mode

Conclusão

Esses são os principais conceitos e comandos do SQL para consultas e manipulação de dados em um banco de dados. Com essas habilidades, você pode começar a interagir com qualquer banco de dados relacional. Se precisar de mais exemplos ou explicações detalhadas, sinta-se à vontade para perguntar!

Do your career a favor. Join DEV. (The website you're on right now)

It takes one minute and it's free.

Get started

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay