Bienvenue sur PostGIS.fr

Bienvenue sur PostGIS.fr , le site de la communauté des utilisateurs francophones de PostGIS.

PostGIS ajoute le support d'objets géographique à la base de données PostgreSQL. En effet, PostGIS "spatialise" le serverur PostgreSQL, ce qui permet de l'utiliser comme une base de données SIG.

Maintenu à jour, en fonction de nos disponibilités et des diverses sorties des outils que nous testons, nous vous proposons l'ensemble de nos travaux publiés en langue française.

source: trunk/workshop-foss4g/simple_sql_exercises.rst @ 37

Revision 37, 4.0 KB checked in by nbozon, 13 years ago (diff)

Section 0 to 8 corrected

RevLine 
[1]1.. _simple_sql_exercises:
2
[37]3Partie 7 : Exercices simples de SQL
[17]4===================================
[1]5
[37]6En utilisant la table ``nyc_census_blocks``, répondez au questions suivantes (et n'allez pas directement aux réponses ! ).
[1]7
[17]8Vous trouverez ci-dessous des informations utiles pour commencer. Référez-vous à la partie `À propos des nos données <about_data>` pour la définition de notre table ``nyc_census_blocks``.
[1]9
10.. list-table::
11   :widths: 20 80
12
13   * - **blkid**
[37]14     - Un code à 15 chiffres qui définit de maniÚre unique chaque **bloc** ressencé . Ex: 360050001009000
[1]15   * - **popn_total**
[37]16     - Nombre total de personnes dans un bloc ressensé
[1]17   * - **popn_white**
[17]18     - Nombre de personnes se déclarant "blancs"
[1]19   * - **popn_black**
[17]20     - Nombre de personnes se déclarant "noirs"
[18]21   * - **popn_nativ**
[17]22     - Nombre de personnes se déclarant comme "nés aux états-unis"
[1]23   * - **popn_asian**
[17]24     - Nombre de personne se déclarant comme "asiatiques"
[1]25   * - **popn_other**
[17]26     - Nombre de personne se déclarant d'une autre catégorie
[1]27   * - **hous_total**
[17]28     - Nombre de piÚces appartements
[1]29   * - **hous_own**
[17]30     - Nombre de propriétaires occupant les appartements
[1]31   * - **hous_rent**
[17]32     - Nombre de locations disponibles
[1]33   * - **boroname**
[17]34     - Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens
[1]35   * - **the_geom**
[37]36     - Polygone délimitant le bloc
[1]37
[17]38Ici se trouvent certaines des fonctions d'aggrégation qui vous seront utiles pour répondre aux questions :
[1]39
[17]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.
[1]43
[37]44Maintenant les questions :
[1]45
[17]46 * **"Quelle est la population de la ville de New York ?"**
[1]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   
[17]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``.
[1]60       
[17]61 * **"Quelle est la population du Bronx ?"**
[1]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   
[17]73 * **"Quelle est en moyenne le nombre de personne vivant dans chaque appartement de la ville de New York ?"**
[1]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   
[17]84 * **"Pour chaque quartier, quel est le pourcentage de population blanche ?"**
[1]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 
[17]104Liste des fonctions
105-------------------
[1]106
[17]107`avg(expression) <http://www.postgresql.org/docs/8.2/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: fonction d'aggrégation de PostgreSQL qui renvoit la moyenne d'un esemble de nombres.
[1]108
[17]109`count(expression) <http://www.postgresql.org/docs/8.2/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: une fonction d'aggrégation de PostgreSQL qui retourne le nombre d'éléments dans un esemble.
[1]110
[17]111`sum(expression) <http://www.postgresql.org/docs/8.2/static/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE>`_: une fonction d'aggrégation de PostgreSQL qui retourne la somme des valeurs numériques d'un ensemble.
Note: See TracBrowser for help on using the repository browser.