logo

Chaîne de comparaison SQL

Dans cette section SQL, nous verrons comment comparer deux ou plusieurs chaînes dans le langage de requête structuré.

Nous pouvons comparer deux chaînes ou plus à l'aide de la fonction de chaîne STRCMP, de l'opérateur LIKE et de l'opérateur Equal.

Fonction de chaîne STRCMP

STRCMP est une fonction de chaîne qui compare les deux chaînes spécifiées et donne 0 si la longueur de la première chaîne est égale à la longueur de la deuxième chaîne. Si la longueur de la première chaîne est supérieure à la longueur de la deuxième chaîne, alors la fonction renvoie 1 sinon -1.

Syntaxe de la fonction STRCMP

 SELECT STRCMP (String_1, String_2); 

Exemples de fonction de chaîne STRCMP

Exemple 1: La requête SELECT suivante compare la longueur des chaînes JAVATPOINT et EXAMPLES :

 SELECT STRCMP ('JAVATPOINT', 'EXAMPLES'); 

Sortir:

 1 

Exemple 2 : La requête SELECT suivante compare la longueur de deux phrases transmises dans la fonction STRCMP :

 SELECT STRCMP ('Website is good', 'javatpoint is good'); 

Sortir:

 -1 

Exemple 3 : La requête SELECT suivante compare la longueur de deux villes :

 SELECT STRCMP ( 'Delhi', 'Noida'); 

Sortir:

 0 

Opérateur LIKE

L'opérateur LIKE fait correspondre le modèle particulier avec chaque ligne du champ et renvoie les valeurs correspondantes dans la sortie. Cet opérateur est toujours utilisé avec la clause WHERE dans l'instruction SQL.

Syntaxe de l'opérateur Like

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern; 

Exemple d'opérateur LIKE

Prenons la table Student suivante :

Roll_Non Prénom Ville Âge Pourcentage Grade
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Oui Delhi vingt 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow vingt 75 B1
106 Ishaka Ghaziabad 19 91 C1
107 Vivek Goa vingt 80 B2

Requête 1 : La requête suivante affiche l'enregistrement des étudiants de la table Student ci-dessus dont First_Name commence par une lettre « B » :

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%'; 

Résultat de la requête ci-dessus :

Roll_Non Prénom Pourcentage Grade
102 Bhavesh 93 A1
104 Bhavna 78 B1

Comme le montre le résultat ci-dessus, le tableau contient uniquement le dossier des étudiants de Bhavesh et Bhavna car leurs noms commencent par la lettre B.

Requête 2 : La requête suivante affiche l'enregistrement des étudiants de la table Student donnée dont First_Name contient le caractère « a » dans n'importe quelle position :

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ; 

Résultat de la requête ci-dessus :

Roll_Non Prénom Ville Âge Pourcentage Grade
101 Akash Delhi 18 89 A2
102 Bhavesh Kanpur 19 93 A1
103 Oui Delhi vingt 89 A2
104 Bhavna Delhi 19 78 B1
105 yatin Lucknow vingt 75 B1
106 Ishaka Ghaziabad 19 91 C1

Opérateur égal (=)

Il s'agit d'un type d'opérateur de comparaison qui affiche les données correspondantes de la table SQL donnée.

Cet opérateur est très utilisé par les utilisateurs de bases de données en langage de requête structuré.

Cet opérateur renvoie VRAIES lignes de la table de base de données si la valeur de la colonne est la même que la valeur spécifiée dans la requête.

Syntaxe de l'opérateur Equal :

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

Exemple d'opérateur égal

Prenons la table Worker suivante :

ID_travailleur Nom_travailleur Ville_travailleur Travailleur_Salaire Travailleur_Bonus
101 Anuj Ghaziabad 35000 2000
102 Touchar Lucknow 29000 3000
103 Vivek Calcutta 35000 2500
104 Shivam Goa 22000 3000

La requête suivante affiche l'enregistrement des travailleurs de la table des travailleurs dont Worker_Salary est 35 000 :

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

Sortir:

ID_travailleur Nom_travailleur Ville_travailleur Travailleur_Salaire Travailleur_Bonus
101 Anuj Ghaziabad 35000 2000
103 Vivek Calcutta 35000 2500