Dans le secteur de la gestion de bases de données, il est très courant d’effectuer des requêtes pour sélectionner des enregistrements basés sur certains critères spécifiques. Dans SQL, pour sélectionner tous les enregistrements d'une table nommée 'Customers' où le 'CustomerName' commence par 'A', on utilise l'opérateur LIKE
avec le symbole %
. La réponse adéquate à cette question serait donc SELECT * FROM Customers WHERE CustomerName LIKE 'A%'
.
Pourquoi cette requête SELECT * FROM Customers WHERE CustomerName LIKE 'A%'
est-elle correcte ? La raison réside dans la façon dont SQL interprète l'opérateur LIKE
et le symbole %
.
LIKE
L'opérateur LIKE
dans SQL est utilisé pour rechercher un motif spécifié dans une colonne. En d'autres termes, il permet de comparer un modèle de chaîne de caractères à des valeurs de chaînes de caractères. La clé pour utiliser effectivement LIKE
est de comprendre qu'il est utilisé avec des modèles, et non avec des chaînes de caractères exactes.
%
Le symbole %
dans SQL est un caractère générique qui peut être utilisé en complément de l'opérateur LIKE
. Il correspond à zéro, un, ou plusieurs caractères dans une chaîne de caractères. En l'utilisant en combinaison avec l'opérateur LIKE
, il permet de rechercher des modèles de textes plus flexibles.
Lorsqu'on utilise LIKE 'A%'
, SQL interprète cela comme une instruction pour chercher tous les enregistrements où la colonne spécifiée (dans ce cas 'CustomerName') commence par 'A', peu importe ce qui suit après.
Prenons un exemple concret pour illustrer cette notion. Supposons que la table 'Customers' contient les enregistrements suivants :
CustomerName
------------
Alice
Alain
Bernard
Bruno
Si on exécute la requête SELECT * FROM Customers WHERE CustomerName LIKE 'A%'
, SQL retournera les enregistrements 'Alice' et 'Alain', puisque ces deux noms commencent par 'A'.
Ce n'est que la pointe de l'iceberg de ce que vous pouvez faire avec SQL. SQL offre une grande flexibilité pour effectuer des requêtes complexes en fonction de vos besoins.