Leçon 1 / 9 — Chapitre 3: WHERE : LIKE, IN, BETWEEN
LIKE et le joker %
LIKE filtre du texte selon un motif, plutôt qu'une égalité exacte comme =. Le joker % représente n'importe quelle suite de caractères (y compris aucun caractère).
SELECT nom FROM produits WHERE nom LIKE 'C%';
Ce code affiche les produits dont le nom commence par C : seul Cahier correspond, sur les 6 lignes de produits.
SELECT nom FROM produits WHERE nom LIKE '%s';
Ce code affiche les produits dont le nom se termine par s : Biscuits correspond (les autres noms se terminent par une autre lettre).
SELECT nom FROM produits WHERE nom LIKE '%o%';
Ce code affiche les produits dont le nom contient o n'importe où : Stylo et Savon correspondent, puisque % de chaque côté autorise n'importe quoi avant et après le o.
Sans aucun %, LIKE 'Cahier' se comporte comme une simple égalité (= 'Cahier') : le joker est ce qui rend LIKE réellement utile par rapport à =.
À retenir :
LIKEfiltre du texte selon un motif, contrairement à=qui exige une égalité exacte.%représente n'importe quelle suite de caractères, y compris une suite vide.
À vous de jouer : écrivez une requête qui affiche les produits dont le nom se termine par o.
À vous de jouer
À faireCombien de produits vérifient nom LIKE 'C%' ?
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
À vous de jouer
À faireQue represente le joker % dans un motif LIKE ?
Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.
💡 une courte réponse