Partie 7 : Exercices simples de SQL

En utilisant la table nyc_census_blocks, répondez au questions suivantes (et n’allez pas directement aux réponses ! ).

Vous trouverez ci-dessous des informations utiles pour commencer. Référez-vous à la partie A propos des nos données pour la définition de notre table nyc_census_blocks.

blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé . Ex: 360050001009000
popn_total Nombre total de personnes dans un bloc ressensé
popn_white Nombre de personnes se déclarant “blancs”
popn_black Nombre de personnes se déclarant “noirs”
popn_nativ Nombre de personnes se déclarant comme “nés aux états-unis”
popn_asian Nombre de personne se déclarant comme “asiatiques”
popn_other Nombre de personne se déclarant d’une autre catégorie
hous_total Nombre de pièces appartements
hous_own Nombre de propriétaires occupant les appartements
hous_rent Nombre de locations disponibles
boroname Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens
the_geom Polygone délimitant le bloc

Ici se trouvent certaines des fonctions d’aggrégation qui vous seront utiles pour répondre aux questions :

  • avg() - la moyenne des valeurs dans un ensemble d’enregistrements
  • sum() - la somme des valeurs d’un ensemble d’enregistrements
  • count() - le nombre d’éléments contenus dans un ensemble d’enregistrements.

Maintenant les questions :

  • “Quelle est la population de la ville de New York ?”

    SELECT Sum(popn_total) AS population
      FROM nyc_census_blocks;
    
    8008278
    

    Note

    Qu’est-ce que ce AS dans la requête ? vous pouvez donner un nom à une table ou à des colonnes en utilisant un alias. Les alias permettent de rendre les requêtes plus simple à écrire et à lire. Donc au lieu que notre colonne résultat soit nommée sum nous utilisons le AS pour la renommer en population.

  • “Quelle est la population du Bronx ?”

    SELECT Sum(popn_total) AS population
      FROM nyc_census_blocks
      WHERE boroname = 'The Bronx';
    
    1332650
    
  • “Quelle est en moyenne le nombre de personnes vivant dans chaque appartement de la ville de New York ?”

    SELECT Sum(popn_total)/Sum(hous_total) AS popn_per_house
      FROM nyc_census_blocks;
    
    2.6503540522400804
    
  • “Pour chaque quartier, quel est le pourcentage de population blanche ?”

    SELECT
        boroname,
        100 * Sum(popn_white)/Sum(popn_total) AS white_pct
      FROM nyc_census_blocks
      GROUP BY boroname;
    
       boroname    |      white_pct
    ---------------+---------------------
     Brooklyn      | 41.2005552206888663
     The Bronx     | 29.8655310846808990
     Manhattan     | 54.3594013771837665
     Queens        | 44.0806610271290794
     Staten Island | 77.5968611401579346

Liste des fonctions

avg(expression): fonction d’aggrégation de PostgreSQL qui renvoie la moyenne d’un ensemble de nombres.

count(expression): une fonction d’aggrégation de PostgreSQL qui retourne le nombre d’éléments dans un ensemble.

sum(expression): une fonction d’aggrégation de PostgreSQL qui retourne la somme des valeurs numériques d’un ensemble.

Table des matières

Sujet précédent

Partie 6 : Requêtes SQL simples

Sujet suivant

Partie 8 : Les géometries