L’opérateur SQL OR optimise votre recherche en renvoyant des résultats qui rem­plis­sent au moins une des con­di­tions définies. Vous pouvez également combiner SQL OR avec d’autres opé­ra­teurs logiques comme AND ou NOT pour améliorer et accélérer les requêtes complexes.

Qu’est-ce que l’opérateur SQL OR ?

En SQL, SQL AND, SQL NOT et SQL OR font partie des opé­ra­teurs SQL les plus im­por­tants pour la recherche d’in­for­ma­tions dans des ensembles de données. Alors que AND trouve des données qui rem­plis­sent plusieurs con­di­tions et que NOT définit des critères d’exclusion, SQL OR élargit votre ensemble de résultats. Cela signifie que vous dé­fi­nis­sez plusieurs con­di­tions de recherche dont les résultats doivent remplir au moins un critère. L’avantage : vous pouvez filtrer les résultats per­ti­nents qui ne doivent pas remplir tous les critères.

Comme vous formulez une condition de recherche avec OR, l’opérateur est gé­né­ra­le­ment utilisé avec SQL SELECT et SQL WHERE pour con­cré­ti­ser les en­re­gis­tre­ments, colonnes et con­di­tions de recherche per­ti­nents. Pour une requête encore plus précise, OR peut de plus être combiné avec d’autres opé­ra­teurs logiques comme AND et NOT ou d’autres opé­ra­teurs de com­pa­rai­son comme =.

SQL OR, AND et NOT

Les opé­ra­teurs SQL OR, AND et NOT se ca­rac­té­ri­sent ainsi :

SQL OR SQL AND SQL NOT
Filtre les en­re­gis­tre­ments qui rem­plis­sent au moins une des con­di­tions Ne prend en compte que les données qui rem­plis­sent toutes les con­di­tions Ignore les in­for­ma­tions qui ne rem­plis­sent pas une condition définie
Élargit la portée de la recherche à plusieurs in­for­ma­tions dif­fé­rentes Restreint la recherche à une com­bi­nai­son de con­di­tions ap­pli­cables Ignore les in­for­ma­tions non per­ti­nentes grâce à des critères d’exclusion
Conseil

Même sans con­nais­sances préa­lables, il est possible de se fa­mi­lia­ri­ser ra­pi­de­ment avec le langage de pro­gram­ma­tion et de base de données très répandu SQL. Notre in­tro­duc­tion à SQL avec exemples vous explique les prin­ci­pales bases.

La syntaxe de l’opérateur OR en SQL expliquée

Le nombre de con­di­tions de recherche que vous dé­fi­nis­sez pour les requêtes de données peut com­prendre deux con­di­tions de recherche, ou plus. La syntaxe simple de OR se présente comme suit :

SELECT  *
FROM  Table
WHERE  Condition de recherche1 OR Condition de recherche2 OR ..
sql

Ces pa­ra­mètres sont utilisés :

  • SELECT : sé­lec­tionne les colonnes spé­ci­fiques à partir des­quelles vous souhaitez récupérer des données. Avec un as­té­risque *, vous récupérez toutes les colonnes de la table.
  • FROM : définit la table dans laquelle vous effectuez votre recherche.
  • WHERE : spécifie les con­di­tions de recherche à l’aide d’opé­ra­teurs et de pa­ra­mètres pour limiter les résultats de la requête.
  • OR : utilisé comme opérateur logique en com­bi­nai­son avec SQL WHERE pour définir des critères de recherche où les résultats doivent répondre à au moins une des con­di­tions spé­ci­fiées.

Pour affiner votre requête de données et définir des critères de recherche plus précis, vous pouvez aussi utiliser une com­bi­nai­son op­tion­nelle de OR avec AND ou NOT.

SQL OR en com­bi­nai­son avec AND

En com­bi­nai­son avec AND, au moins une des con­di­tions de recherche OR doit être vraie, tout en sa­tis­fai­sant également la condition AND. Autrement dit, les con­di­tions de recherche liées par OR doivent remplir la condition AND pour que l’en­re­gis­tre­ment soit sé­lec­tionné.

SELECT  *
FROM  Table
WHERE  (condition de recherche1 OR condition de recherche2) AND condition de recherche3
sql

SQL OR en com­bi­nai­son avec SQL NOT

En com­bi­nai­son avec NOT, il est possible d’exclure les données qui ne rem­plis­sent pas au moins un des critères de recherche définis.

SELECT  *
FROM  Table
WHERE  NOT  (condition de recherche1 OR condition de recherche2)
sql

SQL OR : pour quelle uti­li­sa­tion l’opérateur est-il approprié ?

L’opérateur OR permet de re­cher­cher de manière ciblée des ensembles de données complexes selon plusieurs critères. Les cas d’ap­pli­ca­tion com­pren­nent par exemple :

  • Filtrer des données de clients, de commandes ou de produits selon des critères de recherche combinés tels que les ca­té­go­ries de produits, les pro­prié­tés des produits ou la date de commande et de ré­cla­ma­tion
  • Recherche d’en­tre­prises de certains secteurs ou dans certaines régions
  • Filtrage des tran­sac­tions suspectes ou non valables par plusieurs con­di­tions
  • Recherche d’in­for­ma­tions sur des employés ap­par­te­nant à un service ou à une équipe spé­ci­fique
  • Recherche des candidats qui ne possèdent pas certaines qua­li­fi­ca­tions ou qui n’ont pas d’ex­pé­rience pro­fes­sion­nelle

SQL OR : exemples de l’opérateur

Les cas d’uti­li­sa­tion de l’opérateur OR sont presque illimités grâce aux com­bi­nai­sons avec SQL WHERE et autres opé­ra­teurs ou fonctions SQL. Pour illustrer le fonc­tion­ne­ment de OR, vous trouverez ci-dessous trois exemples pratiques.

Recherche de commandes dans des ca­té­go­ries spé­ci­fiques

Vous re­cher­chez dans une table de clients uni­que­ment les personnes qui ont commandé des produits de la catégorie « Élec­tro­nique », de la catégorie « Beauté » ou des deux ca­té­go­ries. Les résultats incluent uni­que­ment les in­for­ma­tions pour les­quelles au moins une des con­di­tions s’applique. Pour définir les ca­té­go­ries, l’opérateur de com­pa­rai­son = est utilisé.

La syntaxe est la suivante :

SELECT  *
FROM  Clients
WHERE  (Catégorie = 'Électronique'  OR  Catégorie = 'Beauté')
sql

Filtrer les candidats

Dans une table « Candidats », vous ne voulez trouver que des personnes qui ont un diplôme en « Élec­tro­tech­nique » ou en « In­for­ma­tique » et qui ont dans les deux cas au moins trois ans d’ex­pé­rience pro­fes­sion­nelle. Pour ce faire, vous combinez OR et AND :

SELECT  *
FROM  Candidats
WHERE  (Diplôme = 'Électrotechnique'  OR  Diplôme = 'Informatique')
AND  (Expérience professionnelle >= 3)
sql

Recherche de données par région

Dans la table « Clients », vous re­cher­chez des clients situés en France ou en Belgique. La syntaxe est la suivante :

SELECT  *
FROM  Clients
WHERE  Pays = 'France'  OR  Pays = 'Belgique'
sql

Al­ter­na­tives à SQL OR

L’opérateur OR offre une recherche très simple et rapide avec plusieurs critères de recherche al­ter­na­tifs. Des fonctions si­mi­laires ou iden­tiques vous sont proposées par les opé­ra­teurs SQL suivants :

  • CASE : avec l’ins­truc­tion SQL CASE, les clauses WHERE, THEN et ELSE per­met­tent également de vérifier les con­di­tions de recherche et de limiter les analyses complexes aux ensembles de résultats per­ti­nents. L’analyse s’effectue selon la méthode IF-THEN-ELSE, de condition en condition et de bas en haut. Dans ce cas, l’analyse s’arrête si l’une des con­di­tions est remplie.
  • IN : l’opérateur IN combiné à la clause WHERE permet d’analyser des en­re­gis­tre­ments en dé­fi­nis­sant des valeurs ou des chaînes de ca­rac­tères avec IN et en re­cher­chant des cor­res­pon­dances dans une table ou une colonne.
  • EXISTS : l’opérateur SQL EXISTS permet de vérifier si au moins un en­re­gis­tre­ment sé­lec­tionné dans une autre table cor­res­pond à la première table. S’il y a au moins une cor­res­pon­dance, le résultat fait partie de la table cible. L’opérateur n’est toutefois utile que s’il existe une relation entre les deux tables.
Aller au menu principal