2nd Dec 2022 5 minutes de lecture Utilisation des opérateurs AND, OR et NOT en SQL Andrew Bone sql apprendre sql sql operators where Table des matières Syntaxe SQL AND Syntaxe SQL OR Syntaxe SQL NOT Combinaison des opérateurs AND, OR et NOT Étendre votre SQL avec les opérateurs AND, OR et NOT ANDLes opérateurs ET, OU, OR et NOT sont des opérateurs logiques importants en SQL. Ils vous aident à combiner les conditions utilisées pour filtrer les enregistrements. Ils sont le plus souvent utilisés en conjonction avec les clauses WHERE ou HAVING. En outre, ce sujet est une question assez courante dans les entretiens d'embauche en SQL. Pour vous aider à bien comprendre ces opérateurs, je vais vous donner quelques exemples, en expliquant en détail la syntaxe et le but de chacun d'entre eux. S'entraîner à l'aide d'exemples comme ceux-ci est l'une des meilleures méthodes pour apprendre SQL. Pour nos exemples, imaginons que nous gérons et possédons une salle de sport avec différents sites aux États-Unis. Lorsque les gens s'inscrivent, ils nous donnent quelques informations de base. Celles-ci seront stockées dans notre table members qui contient un identifiant unique pour chaque membre, ainsi que son nom et son prénom, son âge, la date à laquelle il a rejoint la salle de sport et le lieu où elle se trouve. idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles 5MerylStreep712014-03-21Manhattan Syntaxe SQL AND La syntaxe de l'opérateur AND est la suivante : SELECT column_1, column_2, … column_n FROM table WHERE condition_1 AND condition_2 AND condition_n Lorsque plusieurs conditions sont combinées à l'aide de l'opérateur AND, toutes les lignes qui remplissent toutes les conditions données sont renvoyées. Il est maintenant temps d'appliquer l'opérateur AND à notre scénario de gymnastique. Supposons que nous voulions trouver tous les membres qui ont moins de 50 ans et qui vivent à Los Angeles. Comment pouvons-nous y parvenir à l'aide d'une requête SQL ? SELECT * FROM members WHERE Age < 50 AND Location = 'Los Angeles'; idFirstNameLastNameAgeDateJoinedLocation 4AngelinaJolie452019-04-02Los Angeles Age Bien que nous ayons deux membres dont l'adresse Location est Los Angeles, un seul de ces membres a moins de 50 ans. N'oubliez pas que lorsque vous utilisez l'opérateur SQL AND, les deux conditions doivent être remplies pour qu'un enregistrement soit renvoyé. Syntaxe SQL OR La syntaxe de l'opérateur OR est la suivante : SELECT column_1, column_2, … column_n FROM table WHERE condition_1 OR condition_2 OR condition_n Lorsque plusieurs conditions sont combinées à l'aide de l'opérateur OR, toutes les lignes qui répondent à l'une des conditions données sont renvoyées. Nous pouvons appliquer cette méthode à notre table members en écrivant la requête suivante : SELECT * FROM members WHERE Location = 'Los Angeles' OR LastName = 'Hanks' Avec cette requête, nous cherchons à récupérer les lignes où LastName est Hanks ou Location est Los Angeles. L'exécution de cette requête donne le résultat suivant : idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles Remarquez que notre membre Tom Hanks est inclus dans le jeu de résultats même si son gymnase Location n'est pas Los Angeles. Cela est dû au fait qu'il remplit la deuxième condition que nous avons spécifiée - son nom de famille est "Hanks". N'oubliez pas : lorsque vous utilisez l'opérateur SQL OR, toutes les lignes qui remplissent l'une des conditions données sont retournées. Syntaxe SQL NOT La syntaxe de l'opérateur NOT est la suivante : SELECT column_1, column_2, … column_n FROM table WHERE NOT condition Lorsque plusieurs conditions sont combinées à l'aide de l'opérateur NOT, toutes les lignes qui ne remplissent pas les conditions données sont renvoyées. Nous pouvons utiliser cet opérateur avec notre exemple de gymnase de plusieurs façons utiles. Que se passe-t-il si nous voulons trouver tous les membres qui se trouvent en dehors de Los Angeles ? En utilisant l'opérateur NOT, nous pouvons simplement écrire : SELECT * FROM members WHERE NOT Location = 'Los Angeles' L'exécution de cette requête produit l'ensemble de données suivant : idFirstNameLastNameAgeDateJoinedLocation 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 5MerylStreep712014-03-21Manhattan Vous pouvez clairement voir quel effet l'opérateur NOT a eu. Aucun membre dont le site Location était réglé sur Los Angeles n'a été renvoyé. Combinaison des opérateurs AND, OR et NOT Dans certaines situations, il peut être nécessaire de combiner ces opérateurs afin de spécifier les données exactes que vous souhaitez. Voici à nouveau notre table members Il s'agit de l'ensemble de données que nous allons interroger dans cet exemple. idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 2BradPitt562018-06-15San Francisco 3TomHanks642017-02-27San Diego 4AngelinaJolie452019-04-02Los Angeles 5MerylStreep712014-03-21Manhattan Imaginons maintenant que nous voulions récupérer les données des membres qui répondent à des critères très spécifiques. Nous voulons des membres qui sont : Ont plus de 50 ans. Situés à Los Angeles ou à Manhattan. Nous pouvons accomplir cela en écrivant la requête SQL suivante : SELECT * FROM members WHERE AGE > 50 AND (Location='Los Angeles' OR Location='Manhattan') Remarquez comment nous avons utilisé des parenthèses/parenthèses pour regrouper nos opérateurs. Nous faisons cela pour que SQL sache exactement comment interpréter l'ordre de nos opérateurs. Le résultat de cette requête est : idFirstNameLastNameAgeDateJoinedLocation 1WillSmith522020-08-23Los Angeles 5MerylStreep712014-03-21Manhattan Vous pouvez voir comment le fait de combiner les opérateurs AND, OR, et NOT de différentes manières peut nous aider à filtrer précisément nos données. Étendre votre SQL avec les opérateurs AND, OR et NOT Vous avez maintenant la possibilité de récupérer les données exactes que vous souhaitez. Cela ouvre de nombreuses possibilités. Vous pouvez utiliser la clause WHERE conjointement avec AND, OR, et NOT, ce qui vous permet d'être très précis dans vos requêtes SQL. La lecture de nos articles de blog est un excellent moyen d'apprendre la syntaxe SQL et de voir les différents scénarios dans lesquels SQL peut être utile. Toutefois, si vous souhaitez un guide vraiment complet de l'écriture de requêtes, envisagez notre cours SQL pour les débutants qui vous permettra d'acquérir de nombreuses connaissances pratiques. Tags: sql apprendre sql sql operators where