SQL ET POSTGRE 5.43 Challenge 4
Ce challenge propose trois exercices pour mettre en pratique les opérateurs SQL vus dans la section : IN, LIKE et BETWEEN. Le contexte est une base de données cinéma comportant les tables film, acteur et realisateur, avec leurs colonnes habituelles (titre, pays, nom, prénom, date de naissance, nationalité).
Les trois exercices à résoudre
Le premier exercice consiste à sélectionner le titre et le pays des films dont le pays d'origine est les États-Unis, l'Espagne ou la Corée. C'est un cas typique d'utilisation de l'opérateur IN qui permet de tester l'appartenance d'une valeur à une liste sans multiplier les conditions OR.
Le deuxième exercice demande de récupérer le nom et le prénom des acteurs dont le nom commence par la lettre M et qui sont nés entre le 1er janvier 1940 et le 31 décembre 1960. Il combine deux opérateurs : LIKE avec le caractère % pour le motif de nom, et BETWEEN pour l'intervalle de dates.
Le troisième exercice consiste à lister le nom et le prénom des réalisateurs dont la nationalité est chinoise, brésilienne ou anglaise, ce qui rappelle l'usage de IN sur une colonne textuelle en respectant strictement la casse des données stockées.
Conseils pour aborder ce challenge :
- Bien identifier la table cible avant d'écrire la clause FROM
- Mettre les chaînes de caractères entre apostrophes simples
- Respecter le format des dates attendu par PostgreSQL (AAAA-MM-JJ)
- Vérifier la casse des valeurs stockées en base avant de comparer
- Terminer chaque requête par un point-virgule
Prenez le temps de chercher la solution par vous-même avant de regarder la correction. Même si vous ne réussissez pas du premier coup, l'effort de réflexion est ce qui fait progresser. Rendez-vous dans la vidéo suivante pour la correction détaillée.
En résumé
Cette vidéo présente les solutions détaillées du Challenge 4 en SQL avec PostgreSQL. Elle couvre trois exercices progressifs : sélectionner les films selon plusieurs pays d'origine avec l'opérateur IN, filtrer les acteurs nés dans une plage de dates spécifique avec BETWEEN et LIKE, et extraire les réalisateurs en fonction de leur nationalité. Chaque solution est expliquée étape par étape avec la syntaxe SQL exacte.
Points clés
- L'opérateur IN permet de filtrer les enregistrements selon plusieurs valeurs : WHERE pays IN ('États-Unis', 'Espagne', 'Corée')
- L'opérateur BETWEEN définit un intervalle de dates : WHERE date_de_naissance BETWEEN '1940-01-01' AND '1969-12-31'
- L'opérateur LIKE avec le joker % permet de chercher les noms commençant par une lettre : WHERE nom LIKE 'M%'
- Les requêtes SELECT doivent cibler les colonnes spécifiques selon les besoins (titre, pays, nom, prénom)
- L'attention aux majuscules/minuscules dans les données est cruciale pour la précision des filtres
Questions fréquentes
Comment sélectionner les films de plusieurs pays à la fois?
Utiliser l'opérateur IN avec une liste de pays entre parenthèses : SELECT titre, pays FROM film WHERE pays IN ('États-Unis', 'Espagne', 'Corée')
Quel opérateur PostgreSQL permet de filtrer une plage de dates?
L'opérateur BETWEEN : WHERE date_de_naissance BETWEEN '1940-01-01' AND '1969-12-31' pour définir un intervalle inclusif
Comment trouver les acteurs dont le nom commence par M?
Combiner WHERE avec LIKE et le joker % : WHERE nom LIKE 'M%' pour tous les noms commençant par M