Aritmética e operadores
Some, subtraia, multiplique e divida em SQL.
Aritmética e operadores é uma aula grátis de SQL Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de SQL Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de SQL Academy inclui 4 aulas no total.
Fazendo cálculos em SELECT
SQL não serve apenas para buscar linhas. Você pode calcular valores diretamente em uma consulta usando operadores aritméticos.
Nesta lição, você somará, subtrairá, multiplicará e dividirá usando colunas e literais, dará nomes aos resultados e entenderá como PostgreSQL determina o tipo de cada resultado.
Imagine uma tabela order_items com quantity e unit_price. Podemos calcular o total de uma linha sem tocar no código da aplicação.
SELECT quantity, unit_price, quantity * unit_price AS line_total
FROM order_items;Os cinco operadores aritméticos
PostgreSQL oferece os operadores usuais:
+adição-subtração*multiplicação/divisão%módulo (resto)
Eles funcionam em colunas numéricas e literais, assim como em qualquer linguagem de programação. A consulta abaixo mostra cada um em ação.
SELECT
10 + 3 AS sum,
10 - 3 AS difference,
10 * 3 AS product,
10 / 3 AS quotient,
10 % 3 AS remainder;Precedência dos operadores
SQL segue a precedência matemática padrão: *, / e % têm precedência maior que + e -.
Use parênteses para deixar a intenção explícita e substituir a ordem padrão. As duas expressões abaixo produzem resultados muito diferentes.
SELECT
2 + 3 * 4 AS without_parens, -- 14
(2 + 3) * 4 AS with_parens; -- 20Calculando um preço com desconto
Uma tarefa comum do mundo real: aplicar um desconto percentual. Multiplique o preço por (1 - discount_rate).
Aqui, discount_rate é armazenado como uma fração (0.15 = 15%). Os parênteses garantem que a subtração aconteça antes da multiplicação.
SELECT
product_id,
price,
discount_rate,
price * (1 - discount_rate) AS final_price
FROM products;Aritmética entre colunas
Os operandos não precisam ser literais. Você pode combinar várias colunas em uma única expressão.
Abaixo, calculamos o lucro líquido por venda: receita menos custo, multiplicado pela quantidade vendida.
SELECT
sale_id,
(sale_price - cost) * quantity AS profit
FROM sales;Dando nomes aos resultados com AS
Colunas calculadas recebem nomes gerados automaticamente, como ?column?, a menos que você lhes dê um nome alternativo. Use sempre AS para dar nomes legíveis.
Um nome alternativo também permite referenciar a coluna com mais clareza nas suas ferramentas e relatórios.
SELECT
base_salary,
base_salary * 0.10 AS bonus,
base_salary + base_salary * 0.10 AS total_pay
FROM employees;Aritmética em WHERE
Você também pode usar aritmética na cláusula WHERE, não apenas em SELECT.
Isso filtra os pedidos cujo total calculado excede 100. Observação: envolver uma coluna em uma operação matemática pode impedir o uso de índices; portanto, quando o desempenho for importante, prefira colunas sem transformações nos filtros.
SELECT order_id, quantity, unit_price
FROM order_items
WHERE quantity * unit_price > 100;Os tipos dos resultados dependem das entradas
PostgreSQL infere o tipo do resultado a partir dos operandos. Inteiro + inteiro produz um inteiro; se algum dos lados for numérico ou de ponto flutuante, o resultado também será.
Isso é mais importante com a divisão, que abordaremos mais adiante. Por enquanto, observe como misturar tipos faz o resultado assumir um tipo mais abrangente.
SELECT
pg_typeof(4 + 2) AS int_type, -- integer
pg_typeof(4 + 2.0) AS numeric_type, -- numeric
pg_typeof(4 * 1.5); -- numericO operador módulo
% retorna o resto da divisão inteira. Ele é útil para lógica cíclica, como “a cada N linhas” ou para verificar se os valores são pares ou ímpares.
Abaixo, encontramos os identificadores de produtos pares usando % 2 = 0.
SELECT product_id, name
FROM products
WHERE product_id % 2 = 0;Atualizando valores com aritmética
Aritmética não se limita a SELECT. Você pode usá-la em UPDATE para ajustar valores armazenados.
Isso aumenta em 5% todos os preços de uma categoria. A expressão à direita é avaliada por linha.
UPDATE products
SET price = price * 1.05
WHERE category = 'electronics';Cuidado com NULL
Qualquer operação aritmética que envolva NULL produz NULL, pois o resultado é desconhecido.
Se uma coluna puder estar ausente, envolva-a com COALESCE para fornecer um valor padrão antes de fazer cálculos.
SELECT
base + NULL AS is_null, -- NULL
base + COALESCE(bonus, 0) AS safe_total
FROM payroll;Verificação rápida
Qual é o resultado da expressão 2 + 6 / 2 no PostgreSQL?
Recapitulação
Você pode calcular valores diretamente em SQL:
+ - * / %são os operadores básicos*,/e%têm precedência maior que+e-; use parênteses para deixar a intenção explícita- Dê nomes alternativos às colunas calculadas com
AS - A aritmética funciona em
SELECT,WHEREeUPDATE - O tipo do resultado segue os operandos, e qualquer operando
NULLfaz com que o resultado sejaNULL
A seguir, veremos como arredondar e truncar esses resultados numéricos.
Perguntas Frequentes
A aula “Aritmética e operadores” é grátis?
Sim — o texto completo de “Aritmética e operadores” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de SQL Academy, atualize para CoddyKit PRO. O curso de SQL Academy inclui 4 aulas no total.
O que vou aprender em “Aritmética e operadores”?
Some, subtraia, multiplique e divida em SQL. Você pratica SQL Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar SQL Academy?
Nenhuma experiência prévia é necessária. SQL Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Aritmética e operadores”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de SQL Academy?
Sim. Cada aula de SQL Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Aritmética e operadores
- Arredondamento e truncamento
- Divisão de inteiros versus decimais
- Funções matemáticas úteis