Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

MySQL OR Keyword

Le mot-clé `OR` de MySQL est utilisé pour combiner plusieurs conditions dans les instructions SQL, ce qui permet d'effectuer des requêtes plus complexes. Elle renvoie un résultat positif si l'une des conditions spécifiées est remplie.

Utilisation

Le mot-clé `OR` est généralement utilisé dans une clause `WHERE` pour filtrer les enregistrements sur la base de conditions multiples. Elle est utile lorsque vous souhaitez extraire les lignes qui répondent à au moins un critère parmi plusieurs.

sql
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2;

Dans cette syntaxe, `OR` relie `condition1` et `condition2`, retournant les lignes où l'une ou l'autre des conditions est vraie.

Exemples

1. Condition de base du bloc opératoire

sql
SELECT *
FROM products
WHERE category = 'Electronics' OR category = 'Appliances';

Cette requête permet de récupérer tous les tableaux de la table `products` dont la catégorie est 'Electronics' ou 'Appliances'.

2. Combiner AND et OR

sql
SELECT first_name, last_name
FROM employees
WHERE department = 'Sales' AND (city = 'New York' OR city = 'Los Angeles');

Ici, la requête sélectionne les employés du département "Ventes" qui se trouvent à "New York" ou à "Los Angeles".

3. Utilisation de OR avec des conditions multiples

sql
SELECT order_id, order_date
FROM orders
WHERE status = 'Pending' OR status = 'Processing' OR status = 'Shipped';

Cet exemple permet d'extraire les commandes dont le statut est "En attente", "En cours de traitement" ou "Expédiées", démontrant ainsi l'utilisation de `OR` avec des conditions multiples.

Conseils et bonnes pratiques

  • Utilisez des parenthèses pour plus de clarté. Lorsque vous combinez `OR` avec `AND`, utilisez des parenthèses pour définir explicitement l'ordre d'évaluation.
  • Optimisez l'ordre des conditions. Placez les conditions les plus restrictives en premier pour améliorer les performances. Notez que `OR` peut affecter les performances des requêtes, surtout s'il n'est pas utilisé avec des colonnes indexées.
  • Logique booléenne et types de données. `OR` dans MySQL opère avec la logique booléenne, retournant `VRAI` si au moins une condition est `VRAI`. Soyez attentif à la façon dont `OR` interagit avec les valeurs `TRUE`, `FALSE` et `NULL`.
  • Gestion des NULL. Veillez à ce que vos conditions tiennent compte des valeurs `NULL` possibles, car elles peuvent affecter la véracité de vos conditions. Par exemple :
    sql
    SELECT id
    FROM users
    WHERE age > 30 OR age IS NULL;
    
    Cela permet de retrouver les utilisateurs qui ont plus de 30 ans ou dont l'âge n'est pas spécifié.
  • Évitez toute utilisation excessive. L'utilisation excessive de `OR` peut conduire à des requêtes complexes qui sont difficiles à lire et à maintenir ; envisagez d'utiliser d'autres stratégies comme `IN` pour plus de clarté. Par exemple :
    sql
    SELECT order_id
    FROM orders
    WHERE status IN ('Pending', 'Processing', 'Shipped');
    
    Cette requête simplifie l'utilisation de plusieurs conditions "OU".
  • Indices et performances. Pour limiter les ralentissements potentiels, assurez-vous que les colonnes utilisées dans les conditions `OR` sont correctement indexées.

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez à apprendre gratuitement