SQL ET POSTGRE 5.32 : Data restriction and output with BETWEEN

Dans cette vidéo, nous apprenons à sélectionner des données dont la valeur se trouve dans un intervalle donné grâce à l'opérateur BETWEEN. Par exemple, afficher tous les films sortis entre le 1er janvier 1995 et le 31 décembre 1999. On affiche d'abord la table avec SELECT * FROM films pour repérer la colonne date_de_sortie. La requête finale combine BETWEEN avec deux dates au format anglais (AAAA-MM-JJ), encadrées par l'opérateur AND :

SELECT titre, date_de_sortie
FROM films
WHERE date_de_sortie BETWEEN '1995-01-01' AND '1999-12-31';

Utilisation avec entiers et chaînes

BETWEEN ne se limite pas aux dates. Il fonctionne aussi avec les valeurs numériques. Pour récupérer les films d'une durée comprise entre 90 et 120 minutes, on écrit WHERE duree BETWEEN 90 AND 120. Les entiers s'écrivent sans apostrophes, contrairement aux chaînes. L'opérateur inclut les bornes (90 et 120 sont donc compris dans le résultat).

Plus surprenant : BETWEEN s'applique également aux chaînes de caractères VARCHAR, en utilisant l'ordre alphabétique. Par exemple, pour lister les films dont le pays se trouve entre les lettres E et P incluses :

  • WHERE pays BETWEEN 'E' AND 'P' retournera Etats-Unis, Japon, Espagne, Korean (avec un K) etc.
  • On peut affiner la borne : BETWEEN 'Eu' AND 'P' exclura par exemple Etats-Unis
  • Les bornes peuvent contenir plusieurs caractères ou même un mot entier

L'opérateur BETWEEN simplifie considérablement les filtrages par intervalle par rapport à une double condition avec >= et <=. Que ce soit pour des dates, des nombres ou des chaînes, il rend les requêtes plus lisibles et plus expressives.

Summary

This lesson teaches how to use the SQL BETWEEN operator to select data within a specified range or interval. The tutorial demonstrates three practical applications: filtering films by release date (between 1995-1999), by duration in minutes (90-120 minutes), and by alphabetical range of text strings (countries between letters E and P). The BETWEEN operator is a powerful tool for data restriction that works with numeric, date, and string data types, making it essential for data filtering in PostgreSQL queries.

Key points

  • BETWEEN operator selects rows where a value falls within a specified interval, inclusive on both boundary values
  • BETWEEN works with multiple data types: dates, integers, and text/string data for alphabetical ranges
  • Syntax: SELECT column FROM table WHERE column BETWEEN value1 AND value2
  • Practical uses include filtering by temporal ranges (release dates), numeric ranges (film duration), and alphabetical ranges (country names)
  • Can combine BETWEEN with NOT operator to exclude ranges from results
  • BETWEEN is a core SQL feature for data restriction and filtering in WHERE clauses

FAQ

What data types does the BETWEEN operator support?

BETWEEN supports dates, integers, and character/text data types. Any data type that has a comparable range can be filtered using BETWEEN—whether temporal, numeric, or alphabetical.

Does BETWEEN include or exclude the boundary values?

BETWEEN is inclusive on both ends—it includes the start and end values specified in the range. For example, BETWEEN 1995 AND 1999 includes films from both 1995 and 1999.

Can BETWEEN be used with string data alphabetically?

Yes, BETWEEN can filter strings alphabetically. For example, WHERE country BETWEEN 'E' AND 'P' returns all countries alphabetically positioned between E and P in the dataset.