SQLite - Expressions

Bonjour là-bas, futurs mage de la base de données ! Aujourd'hui, nous plongeons dans le monde fascinant des expressions SQLite. En tant qu'enseignant informatique de votre quartier, je suis là pour vous guider dans ce voyage, étape par étape. Ne vous inquiétez pas si vous êtes nouveau dans la programmation - nous allons commencer par les bases et progresser pas à pas. Alors, prenez votre boisson favorite, asseyez-vous confortablement, et embarquons ensemble dans cette aventure SQLite !

SQLite - Expressions

Qu'est-ce que les expressions SQLite ?

Avant de plonger dans les détails, comprens ce que sont les expressions dans SQLite. Pensez aux expressions comme aux briques de vos requêtes de base de données. Elles sont comme les ingrédients dans une recette - vous les combinez de différentes manières pour créer des résultats puissants et significatifs.

Dans SQLite, les expressions peuvent être aussi simples qu'une seule valeur ou aussi complexes qu'une combinaison de multiples opérations. Elles sont utilisées dans diverses parties des instructions SQL, telles que les clauses SELECT, WHERE et ORDER BY.

Maintenant, explorons les trois principaux types d'expressions dans SQLite :

  1. Expressions booléennes
  2. Expressions numériques
  3. Expressions de date

SQLite - Expressions booléennes

Les expressions booléennes sont comme les questions vrai/faux dans un quiz. Elles évaluent à soit VRAI soit FAUX. Ces expressions sont super utiles lorsque vous voulez filtrer des données ou prendre des décisions dans vos requêtes.

Opérateurs de comparaison de base

Commençons par quelques opérateurs de comparaison de base :

Opérateur Description
= Égal à
<> Différent de
< Inférieur à
> Supérieur à
<= Inférieur ou égal à
>= Supérieur ou égal à

Voici un exemple simple :

SELECT name, age
FROM students
WHERE age > 18;

Dans cette requête, age > 18 est notre expression booléenne. Elle vérifie si l'âge est supérieur à 18 et renvoie VRAI pour tous les étudiants qui ont plus de 18 ans.

Opérateurs logiques

Maintenant, ajoutons un peu de piquant avec les opérateurs logiques :

Opérateur Description
AND ET logique
OR OU logique
NOT NON logique

Voici un exemple combinant plusieurs conditions :

SELECT name, age, grade
FROM students
WHERE age > 18 AND grade = 'A';

Cette requête trouve tous les étudiants qui ont plus de 18 ans ET ont une note 'A'. C'est comme dire, "Montre-moi les adultes avec des notes A !"

Opérateur BETWEEN

L'opérateur BETWEEN est un raccourci pour vérifier si une valeur est dans une plage :

SELECT name, score
FROM exam_results
WHERE score BETWEEN 80 AND 90;

Cette requête trouve tous les étudiants qui ont obtenu entre 80 et 90 à leur examen. C'est équivalent à écrire score >= 80 AND score <= 90.

SQLite - Expressions numériques

Les expressions numériques dans SQLite vous permettent d'effectuer des opérations mathématiques dans vos requêtes. C'est comme avoir une calculatrice intégrée dans votre base de données !

Opérateurs arithmétiques

Voici les opérateurs arithmétiques de base :

Opérateur Description
+ Addition
- Soustraction
* Multiplication
/ Division
% Modulo

Voyons-les en action :

SELECT name,
price,
quantity,
price * quantity AS total_cost
FROM orders;

Dans cette requête, nous calculons le coût total en multipliant le prix par la quantité. Le mot-clé AS nous permet de donner un nom à notre colonne calculée.

Fonctions d'agrégat

SQLite fournit également des fonctions d'agrégat qui opèrent sur un ensemble de valeurs :

Fonction Description
AVG() Calculer la moyenne
SUM() Calculer la somme
COUNT() Compter le nombre de lignes
MAX() Trouver la valeur maximale
MIN() Trouver la valeur minimale

Voici un exemple utilisant des fonctions d'agrégat :

SELECT
AVG(price) AS average_price,
SUM(quantity) AS total_items,
COUNT(*) AS order_count,
MAX(price) AS highest_price,
MIN(price) AS lowest_price
FROM orders;

Cette requête nous donne un résumé de notre table des commandes, y compris le prix moyen, le nombre total d'articles vendus, le nombre de commandes, et les prix les plus élevés et les plus bas.

SQLite - Expressions de date

Travailler avec des dates dans les bases de données peut être délicat, mais SQLite offre quelques fonctions pratiques pour nous faciliter la tâche.

Fonctions de date et d'heure

Voici quelques fonctions de date et d'heure couramment utilisées :

Fonction Description
date() Retourne la date actuelle
time() Retourne l'heure actuelle
datetime() Retourne la date et l'heure actuelle
julianday() Retourne le jour julien pour une date
strftime() Formate une date selon une chaîne de format

Voyons comment nous pouvons utiliser ces fonctions :

SELECT
date('now') AS current_date,
time('now') AS current_time,
datetime('now') AS current_datetime,
julianday('now') AS julian_day,
strftime('%Y-%m-%d %H:%M', 'now') AS formatted_datetime;

Cette requête nous montre diverses façons de travailler avec la date et l'heure actuelle.

Calculs de date

Nous pouvons également effectuer des calculs avec des dates :

SELECT
name,
hire_date,
date(hire_date, '+1 year') AS first_anniversary,
julianday('now') - julianday(hire_date) AS days_employed
FROM employees;

Dans cette requête, nous calculons la première année de service de chaque employé et le nombre de jours qu'ils ont été employés.

Et voilà, les amis ! Nous avons parcouru le pays des expressions SQLite, de la logique booléenne aux calculs numériques en passant par le voyage dans le temps (presque). Souvenez-vous, la pratique rend parfait, alors n'ayez pas peur d'expérimenter avec ces expressions dans vos propres requêtes.

Avant de clore, voici une petite histoire de mon expérience d'enseignement : J'ai eu un étudiant qui avait du mal avec les expressions booléennes. Il mélangeait constamment AND et OR. Alors, je lui ai dit de penser à AND comme à un parent strict (les deux conditions doivent être vraies) et à OR comme à un parent tolérant (l'une ou l'autre condition peut être vraie). Il ne l'a jamais oublié après cela !

J'espère que ce tutoriel vous a été utile et peut-être même un peu amusant. Continuez à explorer, continuez à interroger, et surtout, continuez à apprendre. Jusqu'à la prochaine fois, bon codage !

Credits: Image by storyset