SQL ET POSTGRE 5.34 Solution 2 : The selection queries
Voici les solutions détaillées du deuxième challenge sur les requêtes de sélection PostgreSQL. Le premier exercice demandait de sélectionner le titre et le pays des films dont le pays d'origine est les États-Unis, l'Espagne ou la Corée (notée Korean dans la table). L'opérateur IN est parfait pour ce cas :
SELECT titre, pays
FROM films
WHERE pays IN ('Etats-Unis', 'Espagne', 'Korean');
Combinaison LIKE et BETWEEN
Le deuxième exercice était plus complexe : sélectionner le nom et le prénom des acteurs dont le nom commence par M et qui sont nés entre le 1er janvier 1940 et le 31 décembre 1960. Il faut combiner LIKE pour le motif sur le nom et BETWEEN pour l'intervalle de dates, en utilisant AND :
SELECT nom, prenom
FROM acteur
WHERE nom LIKE 'M%'
AND date_de_naissance BETWEEN '1940-01-01' AND '1960-12-31';
Le troisième exercice consistait à sélectionner le nom et le prénom des réalisateurs dont la nationalité est chinois, brésilien ou anglais. Attention aux majuscules : les valeurs sont stockées en majuscules dans la table. À nouveau, IN est la solution la plus propre :
SELECT nom, prenom FROM realisateur WHERE nationalite IN ('Chinois', 'Brésilien', 'Anglais');- Penser à fermer chaque requête par un point-virgule
- Respecter la casse des valeurs stockées en base
Bravo à tous ceux qui ont relevé ce challenge. Même si vous n'avez pas tout réussi du premier coup, l'essentiel est d'avoir essayé : la maîtrise des requêtes SQL vient avec la pratique régulière. Rendez-vous dans la prochaine vidéo pour de nouveaux concepts.
Summary
This lesson demonstrates three SQL filtering solutions using SELECT queries with different WHERE clause operators. The first exercise filters films by country using the IN operator. The second combines LIKE pattern matching with BETWEEN for date range filtering on actors. The third filters directors by nationality with the IN operator. These examples teach essential SQL data selection and filtering techniques.
Key points
- The IN operator filters records matching any value in a specified list
- The LIKE operator with '%' wildcard enables pattern matching for text fields (e.g., names starting with a letter)
- The BETWEEN operator filters records within a specified range (dates, numbers) with inclusive boundaries
- Multiple WHERE conditions can be combined with AND to apply stricter filtering criteria
- SQL operators (IN, LIKE, BETWEEN) are fundamental tools for precise data selection and retrieval
FAQ
What does the IN operator do in SQL?
The IN operator allows you to specify multiple values in a WHERE clause, returning all rows where a column matches any of the specified values in the list.
How do you search for records matching a pattern, like names starting with a specific letter?
Use the LIKE operator with wildcard characters—for example, LIKE 'M%' finds all names starting with 'M', where '%' represents any characters that follow.
When should you use the BETWEEN operator instead of other comparison operators?
Use BETWEEN when filtering records within a range (such as dates between 1940 and 1969, or numeric values), as it is more readable and efficient than combining multiple conditions with AND/OR.