Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

MySQL ET mot-clé

Le mot-clé `AND` de MySQL est utilisé pour combiner plusieurs conditions dans les instructions SQL, en s'assurant que toutes les conditions spécifiées doivent être vraies pour que les lignes soient incluses dans le jeu de résultats. Elle est souvent utilisée en conjonction avec `WHERE`, `HAVING`, `ON`, et d'autres clauses pour affiner la recherche de données.

Utilisation

Le mot-clé "ET" est utilisé lorsqu'il est nécessaire d'appliquer plus d'une condition à une requête. Il permet de filtrer les résultats en fonction de plusieurs critères, en veillant à ce que seules les lignes répondant à toutes les conditions soient renvoyées.

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

Dans cette syntaxe, `condition1` et `condition2` sont les critères qui doivent tous deux être vrais pour qu'une ligne soit sélectionnée.

Exemples

1. Condition de base ET

sql
SELECT *
FROM orders
WHERE status = 'Shipped' AND customer_id = 123;

Cette requête sélectionne tous les tableaux du tableau `orders` dont le `status` est 'Shipped' et le `customer_id` est 123.

2. Combinaison de plusieurs conditions

sql
SELECT first_name, last_name
FROM employees
WHERE department = 'Sales' AND salary > 50000 AND hire_date < '2020-01-01';

Ici, la requête récupère les noms et prénoms des employés du département Ventes dont le salaire est supérieur à 50 000 et qui ont été embauchés avant le 1er janvier 2020.

3. Utilisation de AND avec JOIN

sql
SELECT orders.order_id, customers.customer_name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id
WHERE orders.total_amount > 100 AND customers.region = 'North';

Cette requête combine les données des tableaux `orders` et `customers` en utilisant `JOIN` et filtre les résultats lorsque le `total_amount` est supérieur à 100 et que la région du client est 'North'.

4. Utilisation de AND dans la clause ON

sql
SELECT orders.order_id, customers.customer_name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id AND customers.active = 1;

Cette requête utilise le mot-clé `AND` directement dans la clause `ON` pour s'assurer que seuls les clients actifs sont joints.

5. Utilisation de AND dans la clause HAVING

sql
SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 10 AND AVG(salary) > 60000;

Dans cet exemple, la clause `HAVING` utilise `AND` pour filtrer les groupes dont le nombre d'employés est supérieur à 10 et dont le salaire moyen est supérieur à 60 000.

Conseils et bonnes pratiques

  • Utilisez des parenthèses pour plus de clarté. Lorsque vous combinez `AND` avec `OR`, utilisez des parenthèses pour vous assurer que l'ordre d'évaluation est correct.
  • Optimisez les conditions. Placez la condition la plus restrictive en premier pour améliorer les performances de la requête.
  • Soyez attentif aux types de données. Assurez-vous que les conditions sont comparables et que les types de données sont compatibles afin d'éviter des résultats inattendus.
  • Testez des requêtes complexes. Décomposez et testez les conditions complexes individuellement pour vous assurer que chaque partie fonctionne comme prévu avant de les combiner.
  • L'ordre des conditions est important. La séquence des conditions peut avoir un impact sur les performances et la lisibilité, en particulier dans le cas de requêtes complexes.
  • Évitez les erreurs de logique. Soyez prudent lorsque vous mélangez `ET` et `OU` sans parenthèses, car cela peut entraîner des erreurs logiques inattendues.

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