Article image
Raja Novaes
Raja Novaes15/11/2024 20:11
Compartilhe

SQL Descomplicado: Como Explorar Queries e Operações Comuns em Bancos de Dados

    Você já se perguntou o que acontece por trás das consultas que você faz em um banco de dados?

    Quando você digita uma query SQL para puxar dados de uma tabela, como um simples SELECT, você está basicamente dizendo ao banco de dados como procurar, manipular e apresentar as informações. Mas SQL vai muito além disso — ele tem diversas ferramentas poderosas para modificar a estrutura dos dados, combinar tabelas, filtrar informações e até fazer cálculos.

    Neste artigo, vamos explorar de forma prática as operações mais comuns em SQL, com exemplos que vão desde a criação de tabelas até o uso de expressões complexas, além de conceitos avançados como nested queries (consultas aninhadas). Pronto para embarcar nesse passeio pelo mundo das queries?

    1. Explorando os Comandos de DDL (Data Definition Language)

    Antes de começarmos a consultar dados, é importante entender os comandos que lidam com a estrutura do banco de dados. O DDL é responsável por definir e modificar a estrutura de tabelas e outros objetos dentro do banco.

    Comandos principais do DDL

    1. CREATE – Usado para criar novos objetos, como tabelas e índices.
    2. Exemplo:
    sql
    Copiar código
    CREATE TABLE Clientes (
    ID INT PRIMARY KEY,
    Nome VARCHAR(100),
    Idade INT
    );
    
    1. DROP – Remove uma tabela ou outro objeto do banco. Cuidado: o DROP apaga dados!
    2. Exemplo:
    sql
    Copiar código
    DROP TABLE Clientes;
    
    1. ALTER – Modifica a estrutura de uma tabela existente. Pode adicionar, remover ou modificar colunas.
    2. Exemplo:
    sql
    Copiar código
    ALTER TABLE Clientes ADD Email VARCHAR(100);
    
    1. INSERT – Insere dados em uma tabela.
    2. Exemplo:
    sql
    Copiar código
    INSERT INTO Clientes (ID, Nome, Idade) VALUES (1, 'João', 30);
    
    1. UPDATE – Atualiza dados existentes em uma tabela.
    2. Exemplo:
    sql
    Copiar código
    UPDATE Clientes SET Idade = 31 WHERE Nome = 'João';
    
    1. DELETE – Remove dados da tabela.
    2. Exemplo:
    sql
    Copiar código
    DELETE FROM Clientes WHERE Nome = 'João';
    
    1. RENAME – Renomeia tabelas ou colunas.
    2. Exemplo:
    sql
    Copiar código
    RENAME TABLE Clientes TO Clientes_2024;
    
    1. TRUNCATE – Remove todos os dados de uma tabela de forma rápida, sem registro de transações.
    2. Exemplo:
    sql
    Copiar código
    TRUNCATE TABLE Clientes;
    
    1. MERGE – Combina dados de duas tabelas, permitindo inserções ou atualizações baseadas em uma condição.
    2. Exemplo:
    sql
    Copiar código
    MERGE INTO Clientes AS target
    USING NovosClientes AS source
    ON target.ID = source.ID
    WHEN MATCHED THEN
    UPDATE SET target.Nome = source.Nome
    WHEN NOT MATCHED THEN
    INSERT (ID, Nome) VALUES (source.ID, source.Nome);
    

    2. Explorando Operações com Expressões SQL

    Agora, vamos dar um passo além e falar sobre como realizar operações matemáticas e expressões aritméticas dentro de suas queries SQL. Isso é super útil quando você quer calcular valores, manipular dados ou até gerar resultados mais complexos a partir de simples tabelas.

    Expressões matemáticas e manipulação de dados

    1. Operações Aritméticas – Adição, subtração, multiplicação e divisão.
    2. Exemplo:
    sql
    Copiar código
    SELECT Preco * Quantidade AS TotalVenda
    FROM Produtos;
    
    1. Tipo de Dados – SQL lida com diferentes tipos de dados como strings, números e datas.
    2. Exemplo:
    sql
    Copiar código
    SELECT CONCAT(Nome, ' ', Sobrenome) AS NomeCompleto
    FROM Funcionarios;
    
    1. Armazenamento de Dados Simples e Complexos – Ao combinar colunas e operações, você pode gerar dados "complexos" a partir de simples operações.
    2. Exemplo:
    sql
    Copiar código
    SELECT (Preco * Quantidade) + Impostos AS TotalComImposto
    FROM Vendas;
    
    1. Alias – Você pode dar "apelidos" para as colunas, facilitando a leitura e organização do seu código.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome AS Cliente, Preco AS Valor
    FROM Produtos;
    

    3. Introdução à Operação de Conjuntos com SQL

    Quando você quer trabalhar com conjuntos de dados, ou seja, combinar dados de diferentes fontes (tabelas, colunas, etc.), o SQL oferece ferramentas como UNION, INTERSECT e EXCEPT.

    Operações de Conjunto

    1. UNION – Combina os resultados de duas ou mais queries, removendo duplicatas.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome FROM Clientes
    UNION
    SELECT Nome FROM Fornecedores;
    
    1. UNION ALL – Similar ao UNION, mas mantém duplicatas.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome FROM Clientes
    UNION ALL
    SELECT Nome FROM Fornecedores;
    
    1. INTERSECT – Retorna os dados que aparecem em ambas as queries.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome FROM Clientes
    INTERSECT
    SELECT Nome FROM Fornecedores;
    
    1. EXCEPT – Retorna os dados da primeira query que não aparecem na segunda.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome FROM Clientes
    EXCEPT
    SELECT Nome FROM Fornecedores;
    

    4. Nested Queries: Consultas Aninhadas

    Agora vamos para algo um pouco mais avançado: nested queries (ou subqueries). São queries dentro de outras queries e são super úteis quando você precisa de resultados complexos baseados em condições específicas.

    Como funcionam as Nested Queries

    1. Comparação por Atributos – Uma subquery pode ser usada para comparar valores de uma query externa.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome
    FROM Clientes
    WHERE ID IN (SELECT ID FROM Pedidos WHERE Valor > 100);
    
    1. Keywords como ANY, SOME, ALL – Permitem fazer comparações com múltiplos valores retornados pela subquery.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome
    FROM Clientes
    WHERE ID = ANY (SELECT ClienteID FROM Pedidos WHERE Data > '2024-01-01');
    
    1. EXISTS e NOT EXISTS – Retorna TRUE se a subquery tiver ou não resultados.
    2. Exemplo:
    sql
    Copiar código
    SELECT Nome
    FROM Clientes
    WHERE EXISTS (SELECT 1 FROM Pedidos WHERE ClienteID = Clientes.ID);
    

    Curiosidades e Dicas Finais

    • SQL é case-insensitive, o que significa que SELECT e select são a mesma coisa. Porém, a convenção recomenda usar sempre letras maiúsculas para comandos.
    • Quando você trabalha com dados financeiros, operadores aritméticos podem ser muito úteis para calcular impostos, descontos e outros valores dinamicamente.
    • A utilização de subqueries pode ser uma faca de dois gumes: elas são poderosas, mas podem afetar o desempenho se usadas em excesso.

    Conclusão:

    SQL não é só sobre buscar dados de uma tabela; é uma ferramenta poderosa que pode ser usada para manipular, filtrar e combinar dados de formas criativas e eficientes. Ao aprender sobre os comandos DDL, operações de conjuntos, expressões matemáticas e nested queries, você vai poder escrever queries muito mais avançadas e eficazes, além de ter um maior controle sobre como seus dados são apresentados e modificados.

    Agora, com esse conhecimento, você está pronto para aprimorar suas habilidades em SQL e criar soluções mais inteligentes e robustas para suas necessidades de banco de dados. Aplique o que aprendeu e explore ainda mais o potencial dessa linguagem poderosa!

    Compartilhe
    Comentários (0)