🧚 Écoute ! Beekeeper Studio est une interface PostgreSQL rapide, moderne et open source Télécharger
7 août 2024 Par Matthew Rathbone

PostgreSQL prend en charge les opérateurs arithmétiques de base, dont la soustraction (-), pour différents types de données numériques.

Avant de continuer ta lecture, je voulais te parler de notre gestionnaire de base de données PostgreSQL moderne et rapide, Beekeeper Studio. Son éditeur SQL avec autocomplétion te permet de tester ces calculs en un clin d’œil, et il est gratuit pour PostgreSQL : télécharge-le ici.

Notre premier exemple est simple : soustraire deux entiers. Ça fonctionne dans toutes les bases de données SQL, pas seulement PostgreSQL.

SELECT 15 - 5 AS result;

Résultat attendu :

result
10

Soustraire des colonnes

Voyons maintenant comment soustraire une colonne d’une autre. Prenons un tableau de ventes sales avec la structure suivante :

id item price discount
1 A 100 20
2 B 200 50

Tu veux obtenir le prix final après application de la remise. Il suffit de soustraire la remise du prix.

SELECT id, item, price - discount AS Final_Price FROM sales;

Résultat attendu :

id item final_price
1 A 80
2 B 150

Soustraire des dates

Dans PostgreSQL, soustraire des dates renvoie l’écart entre deux dates en jours.

Prenons un tableau rentals comme celui-ci :

id item rent_start_date rent_end_date
1 Bike 2022-03-01 2022-03-10
2 Car 2022-02-20 2022-03-02

Calculer la durée des locations :

SELECT id, item, rent_end_date - rent_start_date as rental_duration FROM rentals;

Résultat attendu :

id item rental_duration
1 Bike 9
2 Car 10

Soustraction avec des timestamps

Dans PostgreSQL, soustraire des timestamps renvoie l’intervalle entre les deux.

Imaginons un tableau logins :

id login_time logout_time
1 2022-03-15 08:00:00 2022-03-15 10:30:00
2 2022-03-15 07:30:00 2022-03-15 10:00:00

Calculer la durée de chaque session :

SELECT id, logout_time - login_time as session_duration FROM logins;

Résultat attendu :

id session_duration
1 02:30:00
2 02:30:00

Cas d’usage concrets

Gestion des stocks

Voici un exemple qui calcule le stock disponible pour chaque produit en soustrayant le nombre d’articles vendus du stock total.

Supposons qu’on ait un tableau d’inventaire structuré ainsi :

CREATE TABLE inventory (
    product_id SERIAL PRIMARY KEY,
    product_name VARCHAR(255),
    total_stock INT,
    sold INT
);

Données d’exemple :

INSERT INTO inventory (product_name, total_stock, sold) VALUES
('Product A', 100, 50),
('Product B', 200, 180),
('Product C', 150, 140);

Requête : calcul du stock disponible

SELECT product_id, product_name, total_stock - sold AS available_stock
FROM inventory;

Résultat attendu :

 product_id | product_name | available_stock 
------------+--------------+-----------------
          1 | Product A    |              50
          2 | Product B    |              20
          3 | Product C    |              10

Dans cette requête, on soustrait la quantité sold du total_stock pour obtenir le available_stock de chaque produit.

Calculer un âge

La fonction age de PostgreSQL calcule la différence entre deux dates et renvoie le résultat sous forme d’intervalle complexe incluant années, mois et jours.

Voici un cas concret où tu pourrais vouloir calculer l’âge des clients d’un tableau.

Supposons que tu aies un tableau customers avec une colonne birthdate.

SELECT customer_id, birthdate, age(current_date, birthdate) AS age
FROM customers;

Résultat attendu :

 customer_id | birthdate  |         age          
-------------+------------+----------------------
           1 | 1990-04-25 | 34 years 3 mons 12 days
           2 | 1985-10-12 | 38 years 9 mons 24 days
           3 | 2000-01-01 | 24 years 7 mons  5 days

Conclusion

La soustraction dans PostgreSQL est un outil polyvalent qui s’applique aux nombres, aux dates et aux intervalles. Dans cet article, on a exploré les opérations de soustraction dans PostgreSQL, avec des nombres comme avec des dates. Pense toujours à vérifier les types de données et leur compatibilité avant tes calculs. Reste à l’écoute pour la suite de la série, où on creusera des concepts SQL plus avancés. Bon code !

D’autres articles qui pourraient te plaire :

Beekeeper Studio est une interface PostgreSQL gratuite & open source

C’est le client PostgreSQL que je cherchais ! Son interface fait toute la différence : épurée, intuitive, puissante. Adieu le lourd PGAdmin. - David Cyprian

Beekeeper Studio est un client PostgreSQL rapide, intuitif et facile à utiliser. Il prend aussi en charge plein d’autres bases de données et fonctionne parfaitement sur Windows, Mac et Linux.

La version Linux de Beekeeper est 100% complète : rien de bâclé, aucun compromis sur les fonctionnalités.

Ce que les utilisateurs de PostgreSQL disent de Beekeeper Studio

Jay Simons Jay Simons Propriétaire, Designly.biz

Contrairement à pgAdmin, Beekeeper est remarquablement simple à utiliser sans pour autant manquer de fonctionnalités, et le prix est juste ! La fonction de sauvegarde de base de données est particulièrement utile. Un super logiciel.

Alex M

Outil fabuleux, l’IDE le plus pratique que j’ai trouvé jusqu’ici pour administrer des bases Postgres et MySql. Ça marche, tout simplement, sans prise de tête :-)

Prêt à améliorer ton workflow PostgreSQL ?

download Télécharger gratuitement