Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 112 lines (77 sloc) 4.045 kb
420fb99 Pass all the postgis.fr svn material into github
Gérald Fenoy authored
1 .. _simple_sql_exercises:
2
3 Partie 7 : Exercices simples de SQL
4 ===================================
5
6 En utilisant la table ``nyc_census_blocks``, répondez au questions suivantes (et n'allez pas directement aux réponses ! ).
7
8 Vous trouverez ci-dessous des informations utiles pour commencer. Référez-vous à la partie :ref:`À propos des nos données` pour la définition de notre table ``nyc_census_blocks``.
9
10 .. list-table::
11 :widths: 20 80
12
13 * - **blkid**
14 - Un code à 15 chiffres qui définit de manière unique chaque **bloc** ressencé . Ex: 360050001009000
15 * - **popn_total**
16 - Nombre total de personnes dans un bloc ressensé
17 * - **popn_white**
18 - Nombre de personnes se déclarant "blancs"
19 * - **popn_black**
20 - Nombre de personnes se déclarant "noirs"
21 * - **popn_nativ**
22 - Nombre de personnes se déclarant comme "nés aux états-unis"
23 * - **popn_asian**
24 - Nombre de personne se déclarant comme "asiatiques"
25 * - **popn_other**
26 - Nombre de personne se déclarant d'une autre catégorie
27 * - **hous_total**
28 - Nombre de pièces appartements
29 * - **hous_own**
30 - Nombre de propriétaires occupant les appartements
31 * - **hous_rent**
32 - Nombre de locations disponibles
33 * - **boroname**
34 - Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens
35 * - **the_geom**
36 - Polygone délimitant le bloc
37
b787424 @vpicavet Fix typos (agrégat only 1 g in french).
authored
38 Ici se trouvent certaines des fonctions d'agrégation qui vous seront utiles pour répondre aux questions :
420fb99 Pass all the postgis.fr svn material into github
Gérald Fenoy authored
39
40 * avg() - la moyenne des vlauers dans un ensemble d'enregistrements
41 * sum() - la somme des valeurs d'un ensembe d'enregistrements
42 * count() - le nombre d'élément contenu dans un ensembe d'enregistrements.
43
44 Maintenant les questions :
45
46 * **"Quelle est la population de la ville de New York ?"**
47
48 .. code-block:: sql
49
50 SELECT Sum(popn_total) AS population
51 FROM nyc_census_blocks;
52
53 ::
54
55 8008278
56
57 .. note::
58
59 Qu'est-ce que ce ``AS`` dans la requête ? vous pouvez donner un nom à une table ou a 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``.
60
61 * **"Quelle est la population du Bronx ?"**
62
63 .. code-block:: sql
64
65 SELECT Sum(popn_total) AS population
66 FROM nyc_census_blocks
67 WHERE boroname = 'The Bronx';
68
69 ::
70
71 1332650
72
73 * **"Quelle est en moyenne le nombre de personne vivant dans chaque appartement de la ville de New York ?"**
74
75 .. code-block:: sql
76
77 SELECT Sum(popn_total)/Sum(hous_total) AS popn_per_house
78 FROM nyc_census_blocks;
79
80 ::
81
82 2.6503540522400804
83
84 * **"Pour chaque quartier, quel est le pourcentage de population blanche ?"**
85
86 .. code-block:: sql
87
88 SELECT
89 boroname,
90 100 * Sum(popn_white)/Sum(popn_total) AS white_pct
91 FROM nyc_census_blocks
92 GROUP BY boroname;
93
94 ::
95
96 boroname | white_pct
97 ---------------+---------------------
98 Brooklyn | 41.2005552206888663
99 The Bronx | 29.8655310846808990
100 Manhattan | 54.3594013771837665
101 Queens | 44.0806610271290794
102 Staten Island | 77.5968611401579346
103
104 Liste des fonctions
105 -------------------
106
b787424 @vpicavet Fix typos (agrégat only 1 g in french).
authored
107 `avg(expression) <http://www.postgresql.org/docs/8.2/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: fonction d'agrégation de PostgreSQL qui renvoit la moyenne d'un esemble de nombres.
420fb99 Pass all the postgis.fr svn material into github
Gérald Fenoy authored
108
b787424 @vpicavet Fix typos (agrégat only 1 g in french).
authored
109 `count(expression) <http://www.postgresql.org/docs/8.2/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: une fonction d'agrégation de PostgreSQL qui retourne le nombre d'éléments dans un esemble.
420fb99 Pass all the postgis.fr svn material into github
Gérald Fenoy authored
110
b787424 @vpicavet Fix typos (agrégat only 1 g in french).
authored
111 `sum(expression) <http://www.postgresql.org/docs/8.2/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: une fonction d'agrégation de PostgreSQL qui retourne la somme des valeurs numériques d'un ensemble.
Something went wrong with that request. Please try again.