SQL ET POSTGRE 5.44 Solution to the 4th challenge
Voici les solutions du quatrième challenge sur les requêtes SELECT en PostgreSQL. Cette vidéo rassemble toutes les notions de la section : alias, concaténation, filtres composés, gestion des NULL et tri. Comparez vos requêtes à celles présentées pour identifier les bons réflexes.
Patterns de requête complète
Une requête métier typique combine plusieurs éléments. Voici la structure type qui revient dans la plupart des solutions :
SELECT prenom || ' ' || nom AS "Nom complet",
date_de_naissance AS "Né le",
nationalite
FROM acteur
WHERE date_de_naissance BETWEEN '1950-01-01' AND '1990-12-31'
AND nationalite IN ('Anglais', 'Français', 'Américain')
AND date_de_deces IS NULL
ORDER BY date_de_naissance DESC
FETCH FIRST 10 ROWS ONLY;
Cette requête illustre la combinaison de tous les opérateurs. On y voit la concaténation pour le nom complet, BETWEEN pour l'intervalle de dates, IN pour les nationalités multiples, IS NULL pour ne garder que les acteurs vivants, ORDER BY pour le tri décroissant et FETCH FIRST pour limiter à 10 résultats.
Quelques bonnes pratiques à retenir de ces solutions :
- Préférer CONCAT à
||si les colonnes peuvent contenir des NULL - Toujours vérifier la casse des valeurs stockées avant un IN
- Penser à IS NULL / IS NOT NULL plutôt qu'à
= NULL - Trier sur la colonne la plus pertinente pour l'utilisateur (date récente d'abord)
- Documenter les requêtes complexes avec des commentaires
--
Bravo à tous ceux qui ont relevé ce challenge. Si certaines parties vous ont semblé difficiles, n'hésitez pas à revoir les vidéos précédentes et à pratiquer sur votre propre jeu de données. La maîtrise des requêtes SELECT est la fondation de tout travail avec une base de données relationnelle.
Summary
This lesson presents solutions to PostgreSQL filtering challenges using SELECT queries. The instructor walks through three exercises: selecting films by origin country using the IN clause, finding actors by surname pattern and birth date range using LIKE and BETWEEN operators, and retrieving directors by nationality. Each solution demonstrates proper SQL syntax for combining multiple filtering conditions with AND logic.
Key points
- Use the IN clause to filter records matching multiple specific values (e.g., WHERE country IN ('USA', 'Spain', 'Korea'))
- Use LIKE operator with % wildcard to match text patterns (e.g., WHERE name LIKE 'M%' for names starting with 'M')
- Use BETWEEN to filter date ranges with AND to specify start and end dates (e.g., date_of_birth BETWEEN '1940-01-01' AND '1969-12-31')
- Combine multiple WHERE conditions with AND to apply filters across different columns simultaneously
- Ensure proper quote formatting for string values and consistent date format (YYYY-MM-DD) in PostgreSQL queries
- Pay attention to case sensitivity in database values when writing filtering conditions
FAQ
How do you select records matching multiple specific column values in PostgreSQL?
Use the IN clause with comma-separated values in parentheses: WHERE column IN ('value1', 'value2', 'value3')
What operator and syntax should you use to find text that starts with a specific letter?
Use the LIKE operator with the % wildcard: WHERE column_name LIKE 'Letter%' to match any string beginning with that letter
How do you filter records within a date range in PostgreSQL?
Use the BETWEEN operator with AND to specify the range: WHERE date_column BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'