SQLite - LIKE Clause: A Friendly Guide for Beginners
Bonjour là-bas, futurs magiciens des bases de données ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde de SQLite et apprendre sur uno des outils les plus puissants et flexibles qu'il propose : la clause LIKE. Ne vous inquiétez pas si vous êtes nouveaux en programmation ; je serai votre guide amical, expliquant tout pas à pas. Alors, plongeons dedans !
Qu'est-ce que la clause LIKE ?
Imaginez que vous essayez de trouver un livre dans une bibliothèque massive, mais que vous ne vous souvenez que d'une partie du titre. Ne serait-il pas génial de pouvoir chercher des livres avec des titres similaires ? C'est exactement ce que fait la clause LIKE dans SQLite, mais pour les données de votre base de données !
La clause LIKE est utilisée dans les requêtes SQL pour rechercher un motif spécifié dans une colonne. C'est comme une fonction de recherche super-intelligente qui peut trouver des données même lorsque vous ne connaissez pas la valeur exacte que vous cherchez.
Syntaxe de la clause LIKE
Jetons un coup d'œil à la syntaxe de base de la clause LIKE :
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
Voici ce que signifie chaque partie :
-
SELECT
: C'est où vous spécifiez quelles colonnes vous souhaitez voir dans vos résultats. -
FROM
: Cela indique à SQLite dans quelle table chercher. -
WHERE
: C'est où la magie happens ! Il est suivi de la condition pour filtrer les données. -
LIKE
: Ce mot-clé indique à SQLite que nous voulons utiliser la correspondance de motif. -
pattern
: C'est où vous spécifiez ce que vous cherchez.
Caractères jokers
Avant de plonger dans des exemples, apprenons deux caractères spéciaux qui rendent la clause LIKE si puissante :
-
%
(signe de pourcentage) : Représente zéro, un ou plusieurs caractères. -
_
(tiret bas) : Représente un seul caractère.
Ce sont comme les jokers dans un jeu de cartes - ils peuvent remplacer d'autres caractères dans votre motif de recherche.
Exemples de la clause LIKE en action
Maintenant, mettons les mains dans le cambouis et regardons quelques exemples du monde réel. Imaginons que nous avons une table appelée books
avec les colonnes id
, title
, et author
.
Exemple 1 : Trouver des livres avec des titres commençant par "The"
SELECT title
FROM books
WHERE title LIKE 'The%';
Cette requête renverra tous les titres de livres qui commencent par "The". Le %
à la fin signifie "suivi de n'importe quoi".
Les résultats pourraient inclure :
- The Great Gatsby
- The Catcher in the Rye
- The Hobbit
Exemple 2 : Trouver des livres avec "of" dans le titre
SELECT title
FROM books
WHERE title LIKE '%of%';
Cela trouvera n'importe quel titre de livre qui contient "of" n'importe où. Les %
des deux côtés signifient "n'importe quoi avant et après".
Les résultats pourraient être :
- The Grapes of Wrath
- Lord of the Rings
- Of Mice and Men
Exemple 3 : Trouver des auteurs avec une initiale spécifique
SELECT author
FROM books
WHERE author LIKE 'J. %';
Cette requête recherche des auteurs dont les noms commencent par "J." suivi d'un espace et puis de n'importe quoi d'autre.
Vous pourriez obtenir :
- J. K. Rowling
- J. R. R. Tolkien
- J. D. Salinger
Exemple 4 : Utiliser le caractère joker underscore
SELECT title
FROM books
WHERE title LIKE '___';
Cette requête trouve tous les titres de livres qui font exactement trois caractères de long. Chaque _
représente un caractère.
Les résultats pourraient inclure :
- Cat
- Dog
- Pig
Exemple 5 : Combiner les caractères jokers
SELECT title
FROM books
WHERE title LIKE 'The ___ of%';
Cette requête recherche des titres qui commencent par "The", suivi de n'importe quelles trois lettres, puis "of", et ensuite n'importe quoi d'autre.
Vous pourriez trouver :
- The Art of War
- The Joy of Cooking
- The Age of Innocence
Sensibilité à la casse
Par défaut, la clause LIKE dans SQLite est insensible à la casse. Cela signifie que 'the%' correspondra à 'The Great Gatsby' ainsi qu'à 'the hobbit'. Cependant, vous pouvez la rendre sensible à la casse en utilisant la clause GLOB à la place de LIKE, mais c'est un sujet pour un autre jour !
Échapper les caractères spéciaux
Que faire si vous souhaitez chercher un littéral %
ou _
dans vos données ? Vous pouvez utiliser le caractère d'échappement \
devant le caractère spécial :
SELECT title
FROM books
WHERE title LIKE '%100\%%';
Cela trouverait des titres se terminant par "100%", comme "Top 100%" ou "The Best 100%".
Utilisations pratiques de LIKE
La clause LIKE est extrêmement utile dans de nombreux scénarios du monde réel :
- Rechercher des utilisateurs par des adresses e-mail partielles
- Trouver des produits par une partie de leur description
- Filtrer les entrées de journal par des motifs de date
- Rechercher des fichiers avec des extensions spécifiques
Méthodes de la clause LIKE
Voici un tableau récapitulatif des différents motifs que vous pouvez utiliser avec LIKE :
Motif | Description | Exemple |
---|---|---|
LIKE 'a%' | Trouve toutes les valeurs qui commencent par "a" | LIKE 'apple%' correspond à "apple pie" |
LIKE '%a' | Trouve toutes les valeurs qui se terminent par "a" | LIKE '%apple' correspond à "pineapple" |
LIKE '%or%' | Trouve toutes les valeurs qui ont "or" n'importe où | LIKE '%book%' correspond à "bookstore" |
LIKE '_r%' | Trouve toutes les valeurs qui ont "r" en deuxième position | LIKE '_r%' correspond à "brick" |
LIKE 'a_%' | Trouve toutes les valeurs qui commencent par "a" et font au moins 2 caractères de long | LIKE 'a_%' correspond à "apple" mais pas à "a" |
LIKE 'a__%' | Trouve toutes les valeurs qui commencent par "a" et font au moins 3 caractères de long | LIKE 'a__%' correspond à "apple" mais pas à "ax" |
Conclusion
Et voilà, amis ! Vous avez maintenant appris à utiliser la puissante clause LIKE dans SQLite. C'est comme avoir un moteur de recherche super-intelligent directement dans votre base de données. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec différents motifs et combinaisons.
La prochaine fois que vous travaillez avec une base de données et que vous avez besoin de trouver quelque chose sans avoir la correspondance exacte, penser à la clause LIKE comme votre nouveau meilleur ami. Elle est flexible, puissante, et une fois que vous aurez l'habitude, vous vous demanderez comment vous avez vécu sans elle !
Continuez à coder, restez curieux, et bon狩猎 de données !
Credits: Image by storyset