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;
Exemplo:
SELECT nome, idade
FROM alunos;
Essa consulta retorna as colunas nome
e idade
da tabela alunos
.
Seleção de todas as colunas:
SELECT *
FROM alunos;
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;
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;
Exemplo:
SELECT nome, idade
FROM alunos
WHERE idade > 18;
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%';
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;
-
ASC
: Ordena de forma ascendente (padrão). -
DESC
: Ordena de forma descendente.
Exemplo:
SELECT nome, idade
FROM alunos
ORDER BY idade DESC;
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;
Exemplo:
SELECT idade, COUNT(*)
FROM alunos
GROUP BY idade;
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;
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;
Exemplo de INNER JOIN
:
SELECT alunos.nome, cursos.nome
FROM alunos
INNER JOIN cursos ON alunos.curso_id = cursos.id;
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;
6. Inserir Dados (INSERT INTO)
O INSERT INTO
é usado para inserir dados em uma tabela.
Sintaxe:
INSERT INTO tabela (coluna1, coluna2, ...)
VALUES (valor1, valor2, ...);
Exemplo:
INSERT INTO alunos (nome, idade, curso_id)
VALUES ('João', 20, 1);
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;
Exemplo:
UPDATE alunos
SET idade = 21
WHERE nome = 'João';
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;
Exemplo:
DELETE FROM alunos
WHERE nome = 'João';
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,
...
);
Exemplo:
CREATE TABLE alunos (
id INT PRIMARY KEY,
nome VARCHAR(100),
idade INT,
curso_id INT
);
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;
Exemplo:
ALTER TABLE alunos
ADD email VARCHAR(100);
Esse comando adiciona a coluna email
à tabela alunos
.
Sintaxe para remover uma coluna:
ALTER TABLE tabela
DROP COLUMN coluna;
Exemplo:
ALTER TABLE alunos
DROP COLUMN email;
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)