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!

Top comments (0)