Introduction
Soustraire des valeurs est une opération fondamentale dans toute base de données SQL, y compris SQLite. Savoir effectuer une soustraction et l’utiliser dans tes requêtes peut nettement améliorer la manipulation et l’analyse de tes données. Ce guide vise à démystifier la soustraction dans SQLite, avec des exemples clairs et l’explication de la logique qui les sous-tend. Que tu affines des données financières, calcules des écarts de temps ou fasses simplement des calculs, maîtriser la soustraction dans SQLite fera passer ton SQL au niveau supérieur.
Les bases de la soustraction dans SQLite
SQLite, comme les autres bases de données SQL, prend en charge les opérations arithmétiques de base : addition, soustraction, multiplication et division. Avec l’opérateur -, tu peux facilement soustraire une valeur d’une autre.
Soustraction simple
-- Subtracting two numbers
SELECT 10 - 5 AS difference;
Résultat attendu
difference
----------
5
Soustraire des colonnes
Dans un cas plus concret, tu voudras sans doute soustraire une colonne d’une autre. C’est très simple dans SQLite.
-- Assuming a table 'financials' with columns 'revenue' and 'expenses'
SELECT revenue, expenses, revenue - expenses AS profit FROM financials;
Cette requête calcule le bénéfice en soustrayant les dépenses du chiffre d’affaires pour chaque ligne du tableau financials.
Techniques de soustraction avancées
La soustraction ne se limite pas à de l’arithmétique simple. Elle peut faire partie d’expressions plus complexes, y compris avec des dates et des heures.
Travailler avec les dates
SQLite te permet de soustraire une date d’une autre pour obtenir l’écart en jours. Pour cela, il faut utiliser la fonction julianday, qui convertit une date en numéro de jour julien. La soustraction de ces nombres donne la différence en jours.
CREATE TABLE events (
title TEXT,
start DATE,
end DATE);
INSERT INTO events VALUES('Tech Conference', '2024-02-28', '2024-03-02');
Pour trouver la durée de l’événement :
SELECT title, julianday(end) - julianday(start) AS 'duration'
FROM events;
Résultat attendu :
Tech Conference 2.0
Soustraction conditionnelle avec CASE
Tu peux effectuer une soustraction conditionnelle avec l’instruction CASE. C’est utile pour des calculs plus fins qui dépendent de certaines conditions.
-- Assuming a table 'orders' with columns 'quantity' and 'discount_applied'
SELECT quantity, discount_applied,
CASE
WHEN discount_applied THEN quantity - 1
ELSE quantity
END AS final_quantity
FROM orders;
Cet exemple retire un à la quantité si une remise a été appliquée, et montre comment soustraire des valeurs de façon conditionnelle.
Cas d’usage pratiques
Calculer un âge
Un cas d’usage courant consiste à calculer l’âge d’une personne à partir de sa date de naissance.
SELECT name, birthdate,
(strftime('%Y', 'now') - strftime('%Y', birthdate)) - (strftime('%m-%d', 'now') < strftime('%m-%d', birthdate))
AS age
FROM people;
Cette requête calcule l’âge en soustrayant l’année de naissance de l’année en cours, puis en ajustant si la date du jour précède l’anniversaire de la personne cette année.
Reporting financier
La soustraction est essentielle dans le reporting financier, par exemple pour calculer la variation mensuelle des dépenses.
-- Assuming a table 'monthly_expenses' with columns 'month' and 'amount'
SELECT month,
amount - LAG(amount) OVER (ORDER BY month) AS monthly_change
FROM monthly_expenses;
Cet exemple utilise la fonction de fenêtrage LAG pour soustraire les dépenses du mois précédent de celles du mois en cours, illustrant toute la puissance de la soustraction en analyse financière.
Conclusion
La soustraction dans SQLite est un outil polyvalent de ta boîte à outils SQL. De l’arithmétique de base à la logique conditionnelle complexe en passant par la manipulation de dates, savoir bien utiliser la soustraction peut te révéler des informations plus profondes sur tes données. N’oublie pas : c’est en forgeant qu’on devient forgeron. Teste ces exemples et intègre la soustraction à tes requêtes SQL pour voir comment elle peut améliorer tes analyses et tes rapports.
Beekeeper Studio est une interface de base de données gratuite & open source
Le meilleur outil de requêtes & éditeur SQL que j’aie jamais utilisé. Il m’offre tout ce dont j’ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge plein de bases de données et fonctionne parfaitement sous Windows, Mac et Linux.
Ce que les utilisateurs disent de Beekeeper Studio
« Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C’est rapide, intuitif, et ça rend le travail sur les bases de données à nouveau agréable. »
« J’ai essayé beaucoup d’interfaces de base de données, mais Beekeeper trouve l’équilibre parfait entre fonctionnalités et simplicité. Ça marche, tout simplement. »