Written by 22:17 Back-End, Banco de Dados Views: 29

Tutorial SQL para Iniciantes: Explicação Fácil

Imagine que você está administrando uma biblioteca e precisa manter um registro organizado de todos os livros, autores e empréstimos. Como você poderia fazer isso de maneira eficiente e acessível?

A resposta está em um banco de dados, e a ferramenta que você usaria para interagir com ele é o SQL (Structured Query Language).

Neste tutorial de SQL para iniciantes, você vai saber tudo o que precisa para começar a criar seus primeiros projetos. Vamos lá?

O que é SQL?

SQL, ou Structured Query Language, é a linguagem padrão para gerenciar e manipular bancos de dados relacionais.

Um banco de dados relacional é uma coleção de dados organizada em tabelas, que são compostas por linhas e colunas.

O SQL permite que você faça perguntas a esses bancos de dados (consultas), insira novos dados, atualize dados existentes e até mesmo apague dados.

Componentes Básicos de SQL

Neste tutorial de SQL para iniciantes, primeiro, vamos conhecer alguns dos componentes básicos e como eles são usados para interagir com bancos de dados.

  1. Tabelas: As tabelas são a estrutura básica dos bancos de dados relacionais. Cada tabela possui linhas e colunas.
    • Linhas: Representam registros individuais.
    • Colunas: Representam os diferentes tipos de dados armazenados.
  2. Consultas (Queries): Comandos usados para buscar informações específicas de um banco de dados.
  3. Inserções (INSERT): Comandos usados para adicionar novos dados a uma tabela.
  4. Atualizações (UPDATE): Comandos usados para modificar dados existentes.
  5. Deleções (DELETE): Comandos usados para remover dados.

Criando uma Tabela

Para começar a trabalhar com SQL, você precisa antes de tudo, criar um banco de dados e, dentro dele, criar tabelas para armazenar seus dados. Para criar um banco de dados, vamos usar o comando CREATE DATABASE:

CREATE DATABASE Biblioteca;

Este comando cria um banco de dados chamado Biblioteca. Agora, vamos conectar a este banco de dados para começar a criar tabelas e inserir dados. Para conectar ao banco de dados recém-criado, usamos o comando USE:

USE Biblioteca;

Agora, com o banco de dados Biblioteca em uso, podemos começar a definir nossas tabelas e manipular os dados conforme necessário.

Vamos ver como criar uma tabela usando o comando CREATE TABLE.

CREATE TABLE Leitores (
LeitoresID INT PRIMARY KEY,
Nome VARCHAR(100),
Email VARCHAR(100),
DataNascimento DATE
);

Neste exemplo, estamos criando uma tabela chamada Leitores com quatro colunas: LeitoresID, Nome, Email e DataNascimento. A coluna LeitoresID é definida como a chave primária, o que significa que cada valor nesta coluna deve ser único.

Inserindo Dados

Depois de criar uma tabela, você precisa adicionar dados a ela. Isso é feito usando o comando INSERT INTO.

INSERT INTO Leitores (LeitoresID, Nome, Email, DataNascimento)
VALUES (1, 'João Silva', 'joao.silva@example.com', '1990-05-15');

Aqui, estamos inserindo um novo registro na tabela Leitores com os valores fornecidos.

Consultando Dados

Uma das funcionalidades mais poderosas do SQL é a capacidade de consultar e recuperar dados de um banco de dados. O comando SELECT é usado para este propósito.

SELECT Nome, Email FROM Leitores WHERE LeitoresID = 1;

Esta consulta seleciona as colunas Nome e Email da tabela Leitores onde o LeitoresID é igual a 1.

Atualizando Dados

Para modificar dados existentes em uma tabela, usamos o comando UPDATE.

UPDATE Leitores
SET Email = 'joao.silva123@example.com'
WHERE LeitoresID = 1;

Esta consulta atualiza o email do usuário com LeitoresID igual a 1.

Deletando Dados

Se você precisar remover dados de uma tabela, use o comando DELETE.

DELETE FROM Leitores WHERE LeitoresID = 1;

Esta consulta remove o registro com LeitoresID igual a 1 da tabela Leitores.

Funções Agregadas

O SQL também oferece funções agregadas que permitem realizar cálculos em um conjunto de valores e retornar um único valor. Algumas das funções agregadas mais comuns são:

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

Exemplo:

SELECT COUNT(*) FROM Leitores;

Esta consulta conta o número total de registros na tabela Leitores.

Joins

tutorial sql para iniciantes

Uma das funcionalidades mais poderosas de SQL é a capacidade de combinar dados de duas ou mais tabelas usando JOIN. Existem diferentes tipos de joins, como INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN.

INNER JOIN

O INNER JOIN retorna apenas os registros que têm correspondência em ambas as tabelas. Vamos supor que temos duas tabelas: Livros e Autores.

Tabela Livros

CREATE TABLE Livros (
LivroID INT PRIMARY KEY,
Titulo VARCHAR(100),
AutorID INT,
AnoPublicacao INT
);

Tabela Autores

CREATE TABLE Autores (
AutorID INT PRIMARY KEY,
Nome VARCHAR(100),
Nacionalidade VARCHAR(50)
);

Para obter uma lista de livros com seus respectivos autores, usamos um INNER JOIN:

SELECT Livros.Titulo, Autores.Nome
FROM Livros
INNER JOIN Autores ON Livros.AutorID = Autores.AutorID;

Esta consulta retorna o título dos livros e o nome dos autores que têm correspondência nas duas tabelas.

LEFT JOIN

O LEFT JOIN retorna todos os registros da tabela à esquerda (Livros) e os registros correspondentes da tabela à direita (Autores). Se não houver correspondência, os resultados conterão NULL para as colunas da tabela à direita.

SELECT Livros.Titulo, Autores.Nome
FROM Livros
LEFT JOIN Autores ON Livros.AutorID = Autores.AutorID;

Esta consulta retorna todos os títulos dos livros, mesmo que alguns não tenham um autor correspondente na tabela Autores.

RIGHT JOIN

O RIGHT JOIN retorna todos os registros da tabela à direita (Autores) e os registros correspondentes da tabela à esquerda (Livros). Se não houver correspondência, os resultados conterão NULL para as colunas da tabela à esquerda.

SELECT Livros.Titulo, Autores.Nome
FROM Livros
RIGHT JOIN Autores ON Livros.AutorID = Autores.AutorID;

Esta consulta retorna todos os nomes dos autores, mesmo que alguns não tenham livros correspondentes na tabela Livros.

FULL JOIN

O FULL JOIN retorna todos os registros quando há uma correspondência em uma das tabelas. Se não houver correspondência, os resultados conterão NULL para as colunas da tabela sem correspondência.

SELECT Livros.Titulo, Autores.Nome
FROM Livros
FULL JOIN Autores ON Livros.AutorID = Autores.AutorID;

Esta consulta retorna todos os títulos dos livros e nomes dos autores, incluindo aqueles que não têm correspondência na outra tabela.

Subconsultas

As subconsultas, ou consultas aninhadas, são consultas dentro de outras consultas. Elas são usadas para realizar operações complexas e podem ser incluídas em vários lugares, como na cláusula SELECT, FROM, ou WHERE.

Vamos supor que temos três tabelas em nosso banco de dados Biblioteca: Livros, Autores, e Emprestimos.

Tabela Livros

CREATE TABLE Livros (
LivroID INT PRIMARY KEY,
Titulo VARCHAR(100),
AutorID INT,
AnoPublicacao INT
);

Tabela Autores

CREATE TABLE Autores (
AutorID INT PRIMARY KEY,
Nome VARCHAR(100),
Nacionalidade VARCHAR(50)
);

Tabela Emprestimos

CREATE TABLE Emprestimos (
EmprestimoID INT PRIMARY KEY,
LivroID INT,
DataEmprestimo DATE,
DataDevolucao DATE
);

Vamos adicionar alguns dados a essas tabelas:

Inserindo Dados nas Tabelas:

INSERT INTO Autores (AutorID, Nome, Nacionalidade) VALUES (1, 'Machado de Assis', 'Brasileiro');
INSERT INTO Autores (AutorID, Nome, Nacionalidade) VALUES (2, 'J.K. Rowling', 'Britânica');
INSERT INTO Livros (LivroID, Titulo, AutorID, AnoPublicacao) VALUES (1, 'Dom Casmurro', 1, 1899);
INSERT INTO Livros (LivroID, Titulo, AutorID, AnoPublicacao) VALUES (2, 'Harry Potter e a Pedra Filosofal', 2, 1997);
INSERT INTO Livros (LivroID, Titulo, AutorID, AnoPublicacao) VALUES (3, 'O Alienista', 1, 1882);
INSERT INTO Emprestimos (EmprestimoID, LivroID, DataEmprestimo, DataDevolucao) VALUES (1, 1, '2023-01-10', '2023-01-24');
INSERT INTO Emprestimos (EmprestimoID, LivroID, DataEmprestimo, DataDevolucao) VALUES (2, 2, '2023-02-15', '2023-03-01');
INSERT INTO Emprestimos (EmprestimoID, LivroID, DataEmprestimo, DataDevolucao) VALUES (3, 1, '2023-04-10', '2023-04-24');

SELECT

A cláusula SELECT é a mais utilizada e uma das mais fundamentais no SQL, sendo responsável por especificar quais colunas de dados serão retornadas na consulta.

Ela permite ao usuário definir exatamente quais informações deseja extrair das tabelas do banco de dados.

A cláusula SELECT é usada no início de uma consulta para selecionar dados de uma ou mais colunas de uma tabela.

Agora, vamos usar uma subconsulta na cláusula SELECT para obter o número de empréstimos de cada livro.

SELECT Titulo,
(SELECT COUNT(*)
FROM Emprestimos
WHERE Emprestimos.LivroID = Livros.LivroID) AS NumeroDeEmprestimos
FROM Livros;

Esta consulta retorna o título de cada livro e o número de vezes que foi emprestado. A subconsulta (COUNT) conta os empréstimos para cada livro individualmente.

FROM

A cláusula FROM indica a tabela ou tabelas de onde os dados serão selecionados. Ela define a origem dos dados que serão manipulados e filtrados pelas demais cláusulas da consulta, como SELECT, WHERE, JOIN, entre outras.

A cláusula FROM vem logo após a palavra-chave SELECT e especifica as tabelas envolvidas na consulta.

WHERE

A cláusula WHERE é utilizada em SQL para filtrar registros de uma tabela com base em uma condição específica.

Vamos usar uma subconsulta na cláusula WHERE para encontrar todos os livros emprestados mais de uma vez.

SELECT Titulo
FROM Livros
WHERE LivroID IN (
SELECT LivroID
FROM Emprestimos
GROUP BY LivroID
HAVING COUNT(*) > 1
);

Esta consulta seleciona os títulos dos livros que foram emprestados mais de uma vez. A subconsulta conta o número de empréstimos para cada livro e retorna os LivroID que aparecem mais de uma vez.

EXISTS

A cláusula EXISTS é usada para verificar a existência de registros na subconsulta. Vamos encontrar todos os autores que têm pelo menos um livro emprestado.

SELECT Nome
FROM Autores
WHERE EXISTS (
SELECT 1
FROM Livros
JOIN Emprestimos ON Livros.LivroID = Emprestimos.LivroID
WHERE Livros.AutorID = Autores.AutorID
);

Esta consulta retorna os nomes dos autores que têm pelo menos um livro emprestado. A subconsulta verifica se existe pelo menos um registro na tabela Emprestimos para os livros de cada autor.

Vantagens e Desvantagens do SQL

Vantagens

  • Padronização: SQL é uma linguagem padrão, o que significa que é amplamente suportada e documentada.
  • Flexibilidade: Permite manipulação complexa de dados com comandos simples.
  • Escalabilidade: Pode ser usado em sistemas de banco de dados de pequeno a grande porte.

Desvantagens

  • Complexidade: Para tarefas muito complexas, a sintaxe SQL pode se tornar complicada.
  • Performance: Em alguns casos, operações em grande escala podem ser lentas sem otimização adequada.

Boas Práticas

  1. Normalização: Mantenha os dados normalizados para evitar redundância.
  2. Uso de Índices: Use índices para melhorar a performance das consultas.
  3. Cuidado com as Consultas: Escreva consultas eficientes para evitar sobrecarregar o sistema.

Conclusão

Neste tutorial de SQL para iniciantes, vimos que o SQL é uma ferramenta poderosa e essencial para trabalharmos com bancos de dados. Com os conceitos e exemplos apresentados neste guia, você vai desenvolver uma boa base para começar a se aventurar criar seus próprios projetos.

Lembre-se de praticar constantemente e experimentar diferentes tipos de consultas e operações.

E então, gostou do conteúdo? Me conta sua opinião abaixo! 🤩

Te vejo nos comentários ou até o próximo post! 😉

Avatar de Nayara Bonim
AUTORA
Nayara Bonim
UI/UX Designer | UX Writer | Instructional Designer

Formada em Análise e Desenvolvimento de Sistemas (IFRO), Pós-Graduada em Engenharia de Software, MBA em Design Digital e Branding.

Visited 29 times, 1 visit(s) today

Atualizado: 2 de agosto de 2024

Close

Descubra mais sobre Make Creative Code

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading