🧚 Ascolta! Beekeeper Studio è una GUI per MySQL veloce, moderna e open source Scarica
29 aprile 2024 Di Matthew Rathbone

Introduzione

Oggi vediamo come eseguire sottrazioni in MySQL, una piattaforma molto diffusa per gestire database relazionali. Questo tutorial si concentra sulla sottrazione in MySQL e copre diversi scenari, dalle operazioni aritmetiche di base a casi d’uso più complessi come il calcolo delle differenze tra righe o date.

Nota: anche se molti concetti SQL valgono per diversi sistemi di gestione di database, gli esempi di questo articolo sono pensati specificamente per MySQL.

Prima di continuare a leggere, volevo parlarti del nostro client MySQL moderno, Beekeeper Studio. Il suo editor SQL con autocompletamento ti permette di provare questi calcoli in un attimo, ed è gratuito per MySQL: scaricalo qui.

Prerequisiti

Questo tutorial presuppone che tu conosca MySQL. Assicurati di avere MySQL installato e l’accesso a un database su cui eseguire query.

Sezione 1: operazioni aritmetiche di base in MySQL

Sottrarre numeri

MySQL supporta gli operatori aritmetici di base direttamente nell’istruzione SELECT. Ecco come eseguire una semplice sottrazione:

SELECT 15 - 7 AS difference;

Output previsto

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

Questa query sottrae 7 da 15 e assegna all’output l’etichetta difference.

Questo è il modo più semplice per eseguire una sottrazione in MySQL. L’operatore ‘-‘ si può usare per sottrarre numeri direttamente o per sottrarre valori numerici memorizzati in colonne diverse di una tabella.

Sottrarre colonne

Per sottrarre due colonne in una tabella MySQL, prendiamo una tabella chiamata financials con le colonne revenue ed expenses.

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

Output previsto:

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

Questa query calcola l’utile netto sottraendo expenses da revenue.

Sezione 2: lavorare con le date

Sottrarre date

In MySQL, sottrarre date serve a calcolare intervalli, come il numero di giorni tra due date. Per farlo, MySQL mette a disposizione la funzione DATEDIFF().

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

Output previsto:

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

DATEDIFF() restituisce il numero di giorni tra due date, il che è particolarmente utile nei calcoli finanziari e relativi al personale.

Sottrarre intervalli di tempo

MySQL permette di sottrarre intervalli di tempo specifici dalle date con la funzione DATE_SUB(). Ecco come sottrarre 30 giorni da una data specifica:

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

Output previsto:

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

Sezione 3: tecniche di sottrazione avanzate

Calcolare totali progressivi

Per mostrare il calcolo di un totale progressivo che include la sottrazione, supponiamo di avere una tabella di registro chiamata transactions con le colonne 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;

Output previsto:

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

Questa query usa una variabile di sessione per tenere traccia del totale progressivo, sottraendo in sequenza l’importo di ogni transazione.

Sottrazione in MySQL con valori NULL

Ricorda che MySQL tratta NULL come un valore sconosciuto. Se includi NULL in una sottrazione, anche il risultato sarà NULL. Per risolvere il problema puoi usare la funzione COALESCE.

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

Nei casi in cui column1 o column2 contengono NULL, la funzione COALESCE lo tratta come ‘0’, così la sottrazione restituisce comunque un risultato corretto.

Conclusione

In SQL non tutte le operazioni sono semplici come sembrano, e la sottrazione è una di queste. L’approccio migliore cambia a seconda che tu stia sottraendo numeri, colonne, date o eseguendo calcoli più avanzati.

Esercitati con questi scenari e sperimenta con altre tabelle e nomi di colonne.

Continua a esplorare, continua a imparare!

Per query più complesse e applicazioni reali, continua a esplorare l’ampia documentazione e le funzionalità di MySQL.

Beekeeper Studio è una GUI per MySQL gratuita e open source

Ultimamente uso Beekeeper Studio per lavorare con MySQL e è diventato in fretta uno dei miei strumenti per database preferiti. L'interfaccia è pulita, moderna e senza distrazioni, così è facile concentrarsi sulle query senza il disordine che trovi in altri strumenti. - Surendra Singh

Beekeeper Studio è un client MySQL veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.

La versione Linux di Beekeeper è completa al 100%, senza tagli e senza compromessi sulle funzionalità.

Cosa dicono gli utenti MySQL di Beekeeper Studio

Beekeeper Beekeeper Ancora alle prime armi

Ho scelto questo programma dopo anni di phpMyAdmin: è come entrare in un mondo di qualità superiore; qui ho sentito davvero che l'utente conta. L'idea in sé, la realizzazione, l'esperienza pratica: sono sinceramente grato a Matthew per tutto questo.

Alex M

Strumento favoloso, l'IDE più pratico che abbia trovato finora per amministrare database Postgres e MySql: funziona e basta, senza complicazioni :-)

Pronto a migliorare il tuo workflow MySQL?

download Scarica gratis