PostgreSQL ENTRE
L'opérateur `BETWEEN` de PostgreSQL est utilisé pour filtrer le jeu de résultats à l'intérieur d'un intervalle de valeurs spécifié. Il est inclusif, ce qui signifie que les deux valeurs limites sont considérées comme faisant partie de l'intervalle.
Utilisation
L'opérateur `BETWEEN` est généralement utilisé dans les clauses `WHERE` pour sélectionner des valeurs dans un intervalle spécifique. Il peut être appliqué aux types de données numériques, textuelles et datées.
SELECT column_name
FROM table_name
WHERE column_name BETWEEN lower_bound AND upper_bound;
Dans cette syntaxe, `nom_de_colonne` est vérifié pour voir si ses valeurs sont comprises dans `lower_bound` et `upper_bound`. Notez que si `nom_de_colonne` est `NULL`, le résultat de `BETWEEN` sera aussi `NULL`, excluant effectivement ces lignes du jeu de résultats.
Exemples
1. Plage numérique de base
SELECT *
FROM products
WHERE price BETWEEN 10 AND 20;
Cette requête permet de récupérer tous les enregistrements du tableau `produits` dont le `prix` est compris entre 10 et 20 inclus.
2. Plage de dates
SELECT order_id, order_date
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
Cet exemple filtre les commandes passées au cours de l'année 2023 en vérifiant si `order_date` se situe dans la plage de dates spécifiée.
3. Plage de texte
SELECT employee_id, last_name
FROM employees
WHERE last_name BETWEEN 'A' AND 'M';
Cette requête sélectionne les employés dont le nom de famille commence par des lettres allant de 'A' à 'M'. L'intervalle est déterminé par l'ordre lexicographique, ce qui signifie que la comparaison est basée sur la séquence alphabétique des caractères.
Conseils et bonnes pratiques
- Les frontières de l'inclusion. Rappelez-vous que `BETWEEN` inclut les valeurs des limites ; si vous avez besoin de limites exclusives, pensez à utiliser `>`, `<`, `>=`, ou `<=`.
- Types de données cohérents. Assurez-vous que les types de données de la colonne et des bornes sont compatibles pour éviter les erreurs.
- Utilisation avec les fonctions de date. Combinez `BETWEEN` avec des fonctions de date comme `CURRENT_DATE` pour des plages de dates dynamiques.
- Tenez compte de la performance. Pour les grands ensembles de données, assurez-vous que la colonne utilisée avec `BETWEEN` est indexée pour améliorer les performances de la requête.
- Fonction Utilisation Attention. Soyez prudent lorsque vous utilisez des fonctions sur la colonne dans la clause `BETWEEN`, car cela peut annuler les avantages de l'indexation et avoir un impact sur les performances.