P o s t G I S
1
2
R e q u ê t e s S Q L S i m p l e s
Requêtes SQL Simples
• Sélectionner la base de données nyc
• Cliquez sur Tools > Query Tool
• SELECT name FROM nyc_neighborhoods;
• Cliquez sur le bouton Exécuter dans la barre d'outils
• La requête retourne 129 résultats
Requêtes SQL Simples
• SELECT, qui renvoie des lignes en réponse à une requête.
• INSERT, ajoute de nouvelles lignes à une table
• UPDATE, modifie les lignes existantes dans une table
• DELETE, supprime des lignes d'un tableau.
Nous travaillerons presque exclusivement avec SELECT afin de poser des
requêtes aux tables en utilisant les fonctions spatiales
Exemple:
23 résultats
SELECT some_columns FROM some_data_source WHERE some_condition;
SELECT name FROM nyc_neighborhoods WHERE boroname = 'Brooklyn'; ;
Requêtes SQL Simples
• Liste des fonctions
• avg(expression) : Fonction d'agrégation PostgreSQL qui retourne la valeur
moyenne d'une colonne numérique.
• char_length(string) : Fonction de chaîne PostgreSQL qui retourne le nombre de
caractères dans une chaîne.
• stddev(expression) : Fonction d'agrégation PostgreSQL qui retourne la
déviation standard des valeurs d'entrée.
Requêtes SQL Simples
• Quel est le nombre de lettres dans les noms de tous les
quartiers de Brooklyn ?
SELECT char_length(name) FROM
nyc_neighborhoods WHERE
boroname ='Brooklyn';
Requêtes SQL Simples
• Quel est le nombre moyen de lettres et l'écart-type du nombre de lettres
dans les noms de tous les quartiers de Brooklyn ?
SELECT avg(char_length(name)), stddev(char_length(name)) FROM
nyc_neighborhoods WHERE boroname = 'Brooklyn';
Requêtes SQL Simples
• Quel est le nombre moyen de lettres dans les noms de tous les quartiers de
la ville de New York, rapporté par arrondissement ?
SELECT boroname, avg(char_length(name)), stddev(char_length(name))FROM
nyc_neighborhoods GROUP BY boroname;
9
E x e r c i c e s S Q L S i m p l e s
Exercices SQL Simples
• En utilisant la table nyc_census_blocks, répondez aux questions suivantes
blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé
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
boroname
Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten
Island, Queens
geom Polygone délimitant le bloc
• 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.
Exercices SQL Simples
• 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.
Q1:“Quelle est la population de la ville de New York ?”
blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé
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
boroname
Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten
Island, Queens
geom Polygone délimitant le bloc
Exercices SQL Simples
R1: SELECT Sum(popn_total) FROM nyc_census_blocks;
au lieu que notre colonne résultat soit nommée sum nous utilisons le AS pour la renommer en population.
SELECT Sum(popn_total) AS population FROM nyc_census_blocks;
Exercices SQL Simples
• 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.
Q3:“Quelle est en moyenne le nombre de personnes vivant dans
chaque appartement de la ville de New York ?
blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé
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
boroname
Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten
Island, Queens
geom Polygone délimitant le bloc
Exercices SQL Simples
R3: SELECT boroname ,100*Sum(popn_white)/Sum(popn_total) AS white_pct
FROM nyc_census_blocks GROUP BY boroname;
Exercices SQL Simples
• 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.
Q3:“Quelle est en moyenne le nombre de personnes vivant dans chaque appartement de la
ville de New York ?”
blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé
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
boroname
Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten
Island, Queens
geom Polygone délimitant le bloc
Exercices SQL Simples
R3: SELECT Sum(popn_total) /Sum(hous_total) AS white_pct FROM
nyc_census_blocks GROUP BY boroname

Postgis 3.pptx

  • 1.
    P o st G I S 1
  • 2.
    2 R e qu ê t e s S Q L S i m p l e s
  • 3.
    Requêtes SQL Simples •Sélectionner la base de données nyc • Cliquez sur Tools > Query Tool • SELECT name FROM nyc_neighborhoods; • Cliquez sur le bouton Exécuter dans la barre d'outils • La requête retourne 129 résultats
  • 4.
    Requêtes SQL Simples •SELECT, qui renvoie des lignes en réponse à une requête. • INSERT, ajoute de nouvelles lignes à une table • UPDATE, modifie les lignes existantes dans une table • DELETE, supprime des lignes d'un tableau. Nous travaillerons presque exclusivement avec SELECT afin de poser des requêtes aux tables en utilisant les fonctions spatiales Exemple: 23 résultats SELECT some_columns FROM some_data_source WHERE some_condition; SELECT name FROM nyc_neighborhoods WHERE boroname = 'Brooklyn'; ;
  • 5.
    Requêtes SQL Simples •Liste des fonctions • avg(expression) : Fonction d'agrégation PostgreSQL qui retourne la valeur moyenne d'une colonne numérique. • char_length(string) : Fonction de chaîne PostgreSQL qui retourne le nombre de caractères dans une chaîne. • stddev(expression) : Fonction d'agrégation PostgreSQL qui retourne la déviation standard des valeurs d'entrée.
  • 6.
    Requêtes SQL Simples •Quel est le nombre de lettres dans les noms de tous les quartiers de Brooklyn ? SELECT char_length(name) FROM nyc_neighborhoods WHERE boroname ='Brooklyn';
  • 7.
    Requêtes SQL Simples •Quel est le nombre moyen de lettres et l'écart-type du nombre de lettres dans les noms de tous les quartiers de Brooklyn ? SELECT avg(char_length(name)), stddev(char_length(name)) FROM nyc_neighborhoods WHERE boroname = 'Brooklyn';
  • 8.
    Requêtes SQL Simples •Quel est le nombre moyen de lettres dans les noms de tous les quartiers de la ville de New York, rapporté par arrondissement ? SELECT boroname, avg(char_length(name)), stddev(char_length(name))FROM nyc_neighborhoods GROUP BY boroname;
  • 9.
    9 E x er c i c e s S Q L S i m p l e s
  • 10.
    Exercices SQL Simples •En utilisant la table nyc_census_blocks, répondez aux questions suivantes blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé 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 boroname Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens geom Polygone délimitant le bloc • 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.
  • 11.
    Exercices SQL Simples •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. Q1:“Quelle est la population de la ville de New York ?” blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé 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 boroname Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens geom Polygone délimitant le bloc
  • 12.
    Exercices SQL Simples R1:SELECT Sum(popn_total) FROM nyc_census_blocks; au lieu que notre colonne résultat soit nommée sum nous utilisons le AS pour la renommer en population. SELECT Sum(popn_total) AS population FROM nyc_census_blocks;
  • 13.
    Exercices SQL Simples •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. Q3:“Quelle est en moyenne le nombre de personnes vivant dans chaque appartement de la ville de New York ? blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé 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 boroname Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens geom Polygone délimitant le bloc
  • 14.
    Exercices SQL Simples R3:SELECT boroname ,100*Sum(popn_white)/Sum(popn_total) AS white_pct FROM nyc_census_blocks GROUP BY boroname;
  • 15.
    Exercices SQL Simples •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. Q3:“Quelle est en moyenne le nombre de personnes vivant dans chaque appartement de la ville de New York ?” blkid Un code à 15 chiffres qui définit de manière unique chaque bloc ressencé 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 boroname Nom du quartier de New York. Manhattan, The Bronx, Brooklyn, Staten Island, Queens geom Polygone délimitant le bloc
  • 16.
    Exercices SQL Simples R3:SELECT Sum(popn_total) /Sum(hous_total) AS white_pct FROM nyc_census_blocks GROUP BY boroname