# SQL OR : requêtes de données avec plusieurs conditions

L’opérateur SQL `OR` optimise votre recherche en renvoyant des résultats qui remplissent **au moins une des conditions définies**. Vous pouvez également combiner SQL `OR` avec d’autres opérateurs 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`](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/sql-not/) et SQL `OR` font partie des opérateurs SQL les plus importants pour la recherche d’informations dans des ensembles de données. Alors que `AND` trouve des données qui remplissent plusieurs conditions et que `NOT` définit des critères d’exclusion, SQL `OR` élargit votre ensemble de résultats. Cela signifie que vous définissez plusieurs conditions de recherche dont les résultats **doivent remplir au moins un critère**. L’avantage : vous pouvez filtrer les résultats pertinents qui ne doivent pas remplir tous les critères.

Comme vous formulez une condition de recherche avec `OR`, l’opérateur est généralement utilisé avec SQL SELECT et SQL WHERE pour **concrétiser les enregistrements, colonnes et conditions de recherche pertinents**. Pour une requête encore plus précise, `OR` peut de plus être combiné avec d’autres opérateurs logiques comme `AND` et `NOT` ou d’autres opérateurs de comparaison comme `=`.

### SQL `OR`, `AND` et `NOT`

Les opérateurs SQL `OR`, `AND` et `NOT` se caractérisent ainsi :

<table>
  <thead>
    <tr>
      <th>SQL `OR`</th>
      <th>SQL `AND`</th>
      <th>SQL `NOT`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Filtre les enregistrements qui remplissent au moins une des conditions</td>
      <td>Ne prend en compte que les données qui remplissent toutes les conditions</td>
      <td>Ignore les informations qui ne remplissent pas une condition définie</td>
    </tr>
    <tr>
      <td>Élargit la portée de la recherche à plusieurs informations différentes</td>
      <td>Restreint la recherche à une combinaison de conditions applicables</td>
      <td>Ignore les informations non pertinentes grâce à des critères d’exclusion</td>
    </tr>
  </tbody>
</table>

Conseil Même sans connaissances préalables, il est possible de se familiariser rapidement avec le langage de programmation et de base de données très répandu [SQL](https://www.ionos.com/fr-be/digitalguide/serveur/know-how/definition-de-sql/). Notre [introduction à SQL avec exemples](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/introduction-a-sql-a-laide-dexemples/) vous explique les principales bases.

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

Le nombre de conditions de recherche que vous définissez pour les requêtes de données peut comprendre **deux conditions de recherche, ou plus**. La syntaxe simple de `OR` se présente comme suit :

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

Ces paramètres sont utilisés :

- `SELECT` : sélectionne les colonnes spécifiques à partir desquelles vous souhaitez récupérer des données. Avec un asté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 conditions de recherche à l’aide d’opérateurs et de paramètres pour limiter les résultats de la requête.
- `OR` : utilisé comme opérateur logique en combinaison avec SQL `WHERE` pour définir des critères de recherche où les résultats doivent répondre à au moins une des conditions spécifié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 **combinaison optionnelle** de `OR` avec `AND` ou `NOT`.

### SQL `OR` en combinaison avec `AND`

En combinaison avec `AND`, au moins une des conditions de recherche `OR` doit être vraie, tout en satisfaisant également la condition `AND`. Autrement dit, les conditions de recherche liées par `OR` doivent remplir la condition `AND` pour que l’enregistrement soit sélectionné.

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

### SQL `OR` en combinaison avec SQL `NOT`

En combinaison avec `NOT`, il est possible d’exclure les **données qui ne remplissent pas au moins un des critères de recherche définis**.

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

## SQL `OR` : pour quelle utilisation l’opérateur est-il approprié ?

L’opérateur `OR` permet de rechercher de manière ciblée des ensembles de données complexes selon plusieurs critères. Les cas d’application comprennent par exemple :

- Filtrer des données de clients, de commandes ou de produits selon des critères de recherche combinés tels que les catégories de produits, les propriétés des produits ou la date de commande et de réclamation
- Recherche d’entreprises de certains secteurs ou dans certaines régions
- Filtrage des transactions suspectes ou non valables par plusieurs conditions
- Recherche d’informations sur des employés appartenant à un service ou à une équipe spécifique
- Recherche des candidats qui ne possèdent pas certaines qualifications ou qui n’ont pas d’expérience professionnelle

## SQL `OR` : exemples de l’opérateur

Les **cas d’utilisation de l’opérateur `OR`** sont presque illimités grâce aux combinaisons avec SQL `WHERE` et autres opérateurs ou fonctions SQL. Pour illustrer le fonctionnement de `OR`, vous trouverez ci-dessous trois exemples pratiques.

### Recherche de commandes dans des catégories spécifiques

Vous recherchez dans une table de clients uniquement les personnes qui ont commandé des produits de la catégorie « Électronique », de la catégorie « Beauté » ou des deux catégories. Les résultats incluent uniquement les informations pour lesquelles **au moins une des conditions** s’applique. Pour définir les catégories, l’opérateur de comparaison `=` est utilisé.

La syntaxe est la suivante :

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

### Filtrer les candidats

Dans une table « Candidats », vous ne voulez trouver que des personnes qui ont un diplôme en « Électrotechnique » ou en « Informatique » et qui ont dans les deux cas au moins trois ans d’expérience professionnelle. Pour ce faire, vous combinez `OR` et `AND` :

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

### Recherche de données par région

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

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

## Alternatives à SQL `OR`

L’opérateur `OR` offre une recherche très simple et rapide avec **plusieurs critères de recherche alternatifs**. Des fonctions similaires ou identiques vous sont proposées par les opérateurs SQL suivants :

- `CASE` : avec l’instruction SQL CASE, les clauses `WHERE`, `THEN` et `ELSE` permettent également de vérifier les conditions de recherche et de limiter les analyses complexes aux ensembles de résultats pertinents. 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 conditions est remplie.
- `IN` : l’opérateur `IN` combiné à la clause `WHERE` permet d’analyser des enregistrements en définissant des valeurs ou des chaînes de caractères avec `IN` et en recherchant des correspondances dans une table ou une colonne.
- `EXISTS` : l’opérateur SQL EXISTS permet de vérifier si au moins un enregistrement sélectionné dans une autre table correspond à la première table. S’il y a au moins une correspondance, 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.


This is a markdown version of: [https://www.ionos.com/fr-be/digitalguide/serveur/configuration/sql-or/](https://www.ionos.com/fr-be/digitalguide/serveur/configuration/sql-or/) for AI/LLM consumption.