SQL ET POSTGRE 5.29 Solution 1 : The selection queries

Voici les solutions du premier challenge sur les requêtes SELECT en PostgreSQL. Le premier exercice consistait à afficher le titre et la date de sortie de tous les films. Après un SELECT * FROM films pour visualiser la table complète, il suffit de cibler les deux colonnes voulues avec SELECT titre, date_de_sortie FROM films;. Les deux colonnes s'affichent alors côte à côte.

Le second exercice demandait d'afficher nom et prénom des réalisateurs de nationalité anglaise. On part de la table réalisateur, on sélectionne uniquement les colonnes nom et prénom, puis on applique une clause WHERE sur la colonne nationalité. Les chaînes de caractères se mettent entre apostrophes simples :

SELECT nom, prenom
FROM realisateur
WHERE nationalite = 'anglais';

Filtres composés et conditions multiples

Le troisième exercice consistait à afficher toutes les actrices nées après le 1er janvier 1970. Deux conditions sont nécessaires : la civilité doit être F (pour femme) et la date de naissance doit être postérieure à cette date. Les dates dans la table sont au format anglais (AAAA-MM-JJ), il faut donc respecter ce format entre apostrophes. La requête combine les deux critères avec AND :

SELECT *
FROM acteurs
WHERE civilite = 'F'
  AND date_de_naissance > '1970-01-01';

Le quatrième exercice demandait le titre des films d'une durée supérieure à 90 minutes provenant des États-Unis. La durée étant un entier, elle s'écrit sans apostrophes, contrairement au pays qui est une chaîne :

  • SELECT titre FROM films WHERE duree > 90 AND pays = 'Etats-Unis';
  • Combiner plusieurs conditions avec AND pour filtrer précisément
  • Respecter les types : guillemets pour VARCHAR, valeur nue pour INTEGER

Si vous avez réussi ce challenge sans aide, félicitations. Sinon, ne vous découragez pas : la pratique régulière des requêtes SELECT permet d'assimiler rapidement la syntaxe et les bons réflexes.

Summary

This lesson demonstrates solutions to four practical SQL SELECT query challenges on a film database. Students learn to retrieve specific columns, apply single and multiple filtering conditions using WHERE clauses, and handle different data types (text with quotes, dates in YYYY-MM-DD format, numbers without quotes). The lesson emphasizes understanding table structure and building queries incrementally by first viewing entire tables before applying filters.

Key points

  • Basic SELECT syntax: SELECT column(s) FROM table_name to retrieve specific data
  • WHERE clause filtering with single conditions (e.g., WHERE nationality = 'English')
  • Multiple conditions combined with AND operator (e.g., WHERE gender = 'F' AND birth_date > '1970-01-01')
  • Data type handling: strings in single quotes, dates in YYYY-MM-DD format, numbers without quotes
  • Viewing complete tables first helps understand structure before building filtered queries
  • Progressive approach: validate each query step-by-step before combining multiple conditions

FAQ

Why must dates be written in YYYY-MM-DD format in WHERE conditions?

SQL databases require a specific date format (YYYY-MM-DD with single quotes) to properly recognize and compare date values. Using incorrect format prevents the database from interpreting the condition correctly.

What is the difference between writing WHERE conditions for text versus numbers?

Text values (like country or nationality) must be enclosed in single quotes, while numeric values (like duration or age) are written without quotes so the database recognizes them as numbers rather than strings.

How do you filter for multiple conditions, such as actresses born after 1970 AND with female gender?

Use the AND operator to combine conditions: WHERE gender = 'F' AND birth_date > '1970-01-01'. All conditions must be true for a row to appear in results.