Maison  >  Article  >  base de données  >  Qu'est-ce que l'instruction de requête conditionnelle MySQL ?

Qu'est-ce que l'instruction de requête conditionnelle MySQL ?

青灯夜游
青灯夜游original
2022-01-05 17:20:487554parcourir

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.

Qu'est-ce que l'instruction de requête conditionnelle MySQL ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn