Maison > Article > base de données > Qu'est-ce que l'instruction de requête conditionnelle MySQL ?
Dans MySQL, vous pouvez utiliser l'instruction SELECT et le mot-clé WHERE pour implémenter des requêtes conditionnelles. L'instruction d'implémentation est "SELECT nom du champ FROM data table WHERE query conditions;"; est utilisé pour spécifier la condition de requête.
L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.
Dans MySQL, vous pouvez utiliser l'instruction SELECT et le mot-clé WHERE pour implémenter des requêtes conditionnelles.
L'instruction SELECT peut interroger des données. L'interrogation de données fait référence à l'utilisation de différentes méthodes d'interrogation pour obtenir différentes données de la base de données en fonction des besoins. C'est l'opération la plus fréquemment utilisée et la plus importante.
WHERE Le mot-clé est utilisé pour spécifier les conditions de requête. Si vous devez interroger conditionnellement des données à partir d’une table de données, vous pouvez utiliser le mot-clé WHERE.
Le format de syntaxe est le suivant :
SELECT 字段名 FROM 数据表 WHERE 查询条件;
Les conditions de requête peuvent être :
Conditions de requête avec opérateurs de comparaison et opérateurs logiques
Conditions de requête avec le mot-clé BETWEEN AND
Avec le mot-clé IS NULL Conditions de requête
Conditions de requête avec le mot-clé IN
Conditions de requête avec le mot-clé LIKE
Instruction de requête à condition unique
La condition unique fait référence après le mot-clé WHERE Il n'y a qu'une seule condition de requête.
Exemple 1
Interrogez les noms des étudiants mesurant 170 cm dans la table de données tb_students_info. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> SELECT name,height FROM tb_students_info -> WHERE height=170; +-------+--------+ | name | height | +-------+--------+ | Susan | 170 | +-------+--------+ 1 row in set (0.17 sec)
Vous pouvez constater que la valeur du champ hauteur enregistrée dans les résultats de la requête est égale à 170. S'il n'y a aucun enregistrement correspondant aux conditions de requête dans la table de données lors de la requête basée sur les conditions spécifiées, le système affichera « Ensemble vide (0,00 s) ».
Exemple 2
Interrogez les noms des étudiants dont l'âge est inférieur à 22 ans dans la table de données tb_students_info. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> SELECT name,age FROM tb_students_info -> WHERE age<22; +------+------+ | name | age | +------+------+ | John | 21 | +------+------+ 1 row in set (0.05 sec)
Vous pouvez voir que la valeur du champ âge de tous les enregistrements dans les résultats de la requête est inférieure à 22 ans et que les enregistrements supérieurs ou égaux à 22 ans ne sont pas renvoyés.
Instructions de requête multi-conditions
Il peut y avoir plusieurs conditions de requête après le mot-clé WHERE, ce qui peut rendre les résultats de la requête plus précis. Plusieurs conditions de requête sont séparées par des opérateurs logiques AND (&&), OR (||) ou XOR.
ET : les enregistrements ne seront interrogés que lorsqu'ils remplissent toutes les conditions de requête.
OR : les enregistrements ne seront interrogés que lorsqu'ils remplissent une condition de requête.
XOR : L'enregistrement sera interrogé uniquement lorsqu'il remplit l'une des conditions et ne remplit pas l'autre condition.
Exemple 3
Interrogez les informations sur les étudiants dont l'âge est supérieur à 21 ans et la taille est supérieure ou égale à 175 dans la table tb_students_info. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 AND height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Henry | 23 | 185 | | Jim | 24 | 175 | | Thomas | 22 | 178 | +--------+------+--------+ 3 rows in set (0.00 sec)
Vous pouvez voir que le champ âge de tous les enregistrements dans les résultats de la requête est supérieur à 21 et que le champ hauteur est supérieur ou égal à 175.
Exemple 4
Interrogez les informations sur les étudiants dont l'âge est supérieur à 21 ans ou dont la taille est supérieure ou égale à 175 dans la table tb_students_info. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 OR height>=175; +--------+------+--------+ | name | age | height | +--------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Henry | 23 | 185 | | Jane | 22 | 162 | | Jim | 24 | 175 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Thomas | 22 | 178 | | Tom | 23 | 165 | +--------+------+--------+ 9 rows in set (0.00 sec)
Vous pouvez voir que le champ âge de tous les enregistrements dans les résultats de la requête est supérieur à 21 ou que le champ hauteur est supérieur ou égal à 175.
Exemple 5
Interrogez les informations sur les étudiants dont l'âge est supérieur à 21 ans et la taille est inférieure à 175 et les informations sur les étudiants dont l'âge est inférieur à 21 ans et la taille est supérieure ou égale à 175 dans la table tb_students_info. L'instruction et les résultats d'exécution sont les suivants.
mysql> SELECT name,age,height FROM tb_students_info -> WHERE age>21 XOR height>=175; +-------+------+--------+ | name | age | height | +-------+------+--------+ | Dany | 25 | 160 | | Green | 23 | 158 | | Jane | 22 | 162 | | Lily | 22 | 165 | | Susan | 23 | 170 | | Tom | 23 | 165 | +-------+------+--------+ 7 rows in set (0.00 sec)
Vous pouvez voir que le champ d'âge de tous les enregistrements dans les résultats de la requête est supérieur à 21 et que le champ de taille est inférieur à 175. Il n'y a aucun enregistrement dans la table de données tb_students_info dont le champ d'âge est inférieur à 21 et dont le champ de taille est supérieur ou égal à 175.
OR, AND et XOR peuvent être utilisés ensemble, mais faites attention à la priorité des opérateurs lorsque vous les utilisez.
Plus il y a de conditions de requête, moins d'enregistrements seront récupérés. Parce que plus les conditions sont définies, plus l'instruction de requête comporte de restrictions et moins il y a d'enregistrements pouvant remplir toutes les conditions. Afin que les enregistrements interrogés correspondent exactement à vos souhaits, vous pouvez définir les conditions de requête dans l'instruction WHERE pour qu'elles soient plus spécifiques.
【Recommandation associée : tutoriel vidéo mysql】
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!