🧚 Ei, escute! O Beekeeper Studio é uma GUI para MySQL rápida, moderna e open source Download
29 de abril de 2024 Por Matthew Rathbone

Introdução

Hoje vamos ver como fazer subtrações no MySQL, uma plataforma popular para gerenciar bancos de dados relacionais. Este tutorial foca na subtração no MySQL, cobrindo vários cenários, desde operações aritméticas básicas até casos mais complexos, como calcular diferenças entre linhas ou datas.

Observação: embora muitos conceitos de SQL valham para diferentes sistemas de gerenciamento de banco de dados, os exemplos deste artigo foram feitos especificamente para o MySQL.

Antes de continuar a leitura, só queria apresentar o nosso cliente MySQL moderno, o Beekeeper Studio. Com o editor SQL com autocompletar, testar esses cálculos é rápido, e ele é gratuito para MySQL. Baixe aqui.

Pré-requisitos

Este tutorial pressupõe familiaridade com o MySQL. Certifique-se de ter o MySQL instalado e acesso a um banco de dados onde você possa executar consultas.

Seção 1: Operações aritméticas básicas no MySQL

Subtraindo números

O MySQL suporta operadores aritméticos básicos diretamente na instrução SELECT. Veja como fazer uma subtração simples:

SELECT 15 - 7 AS difference;

Saída esperada

+------------+
| difference |
+------------+
|          8 |
+------------+

Esta consulta subtrai 7 de 15 e nomeia a saída como difference.

Esta é a forma mais simples de fazer uma subtração no MySQL. O operador ‘-‘ pode ser usado para subtrair números diretamente ou para subtrair valores numéricos armazenados em diferentes colunas de uma tabela.

Subtraindo colunas

Para subtrair duas colunas de uma tabela no MySQL, considere uma tabela chamada financials com as colunas revenue e expenses.

SELECT revenue, expenses, (revenue - expenses) AS net_income FROM financials;

Saída esperada:

+---------+----------+------------+
| revenue | expenses | net_income |
+---------+----------+------------+
| 10000   | 7000     | 3000       |
| 15000   | 12000    | 3000       |
+---------+----------+------------+

Esta consulta calcula o lucro líquido subtraindo expenses de revenue.

Seção 2: Trabalhando com datas

Subtraindo datas

No MySQL, a subtração de datas pode ser usada para calcular intervalos, como o número de dias entre duas datas. Para isso, o MySQL oferece a função DATEDIFF().

SELECT DATEDIFF('2023-12-31', '2023-01-01') AS days_difference;

Saída esperada:

+-----------------+
| days_difference |
+-----------------+
|             364 |
+-----------------+

DATEDIFF() retorna o número de dias entre duas datas, o que é especialmente útil em cálculos financeiros e de pessoal.

Subtraindo intervalos de tempo

O MySQL permite subtrair intervalos de tempo específicos de datas usando a função DATE_SUB(). Veja como subtrair 30 dias de uma data específica:

SELECT DATE_SUB('2023-12-31', INTERVAL 30 DAY) AS new_date;

Saída esperada:

+------------+
| new_date   |
+------------+
| 2023-12-01 |
+------------+

Seção 3: Técnicas avançadas de subtração

Calculando totais acumulados

Para demonstrar o cálculo de um total acumulado, que envolve subtração, vamos supor uma tabela de lançamentos chamada transactions com as colunas id, date e amount.

SET @running_total := 0;

SELECT 
  id,
  date,
  amount,
  (@running_total := @running_total - amount) AS running_total
FROM transactions
ORDER BY date;

Saída esperada:

+----+------------+--------+---------------+
| id | date       | amount | running_total |
+----+------------+--------+---------------+
|  1 | 2023-01-01 | 500    | -500          |
|  2 | 2023-01-02 | 150    | -650          |
+----+------------+--------+---------------+

Esta consulta usa uma variável de sessão para acompanhar o total acumulado, subtraindo o valor de cada transação em sequência.

Subtração no MySQL com valores NULL

Lembre-se: o MySQL trata NULL como um valor desconhecido. Se você incluir NULL em uma subtração, o resultado também será NULL. Para resolver isso, você pode usar a função COALESCE.

SELECT COALESCE(column1, 0) - COALESCE(column2, 0) AS 'result' FROM table_name;

Nos casos em que column1 ou column2 contém NULL, a função COALESCE o trata como ‘0’, permitindo que a subtração ainda retorne um resultado correto.

Conclusão

No SQL, nem todas as operações são tão simples quanto parecem, e a subtração é uma delas. A melhor abordagem varia conforme você esteja subtraindo números, colunas, datas ou fazendo cálculos mais avançados.

Pratique esses cenários por conta própria e experimente com outras tabelas e nomes de colunas.

Continue explorando, continue aprendendo!

Para consultas mais complexas e aplicações do mundo real, continue explorando a extensa documentação e os recursos do MySQL.

O Beekeeper Studio é uma GUI para MySQL gratuita e open source

Tenho usado o Beekeeper Studio no meu trabalho com MySQL ultimamente, e ele rapidamente se tornou uma das minhas ferramentas de banco de dados favoritas. A interface é limpa, moderna e sem distrações, o que facilita focar nas queries sem a bagunça de outras ferramentas. - Surendra Singh

O Beekeeper Studio é um cliente MySQL rápido, intuitivo e fácil de usar. Ele também suporta vários outros bancos de dados e funciona muito bem no Windows, Mac e Linux.

A versão do Beekeeper para Linux tem 100% dos recursos, sem atalhos e sem concessões.

O que os usuários de MySQL dizem sobre o Beekeeper Studio

Beekeeper Beekeeper Ainda um novato

Escolhi este programa depois de anos usando o phpMyAdmin — é como entrar em um mundo de qualidade superior; aqui, senti de verdade que o usuário é cuidado com atenção. O conceito, a implementação, a experiência prática — sou sinceramente grato ao Matthew por tudo isso.

Alex M

Ferramenta fabulosa, a IDE mais prática que encontrei até hoje para administrar bancos Postgres e MySql - simplesmente funciona, sem complicação :-)

Pronto para melhorar seu fluxo de trabalho com MySQL?

download Baixe grátis