Construire une base de données relationnelle

Partie 5
Chapitre 1 sur 8
Partie 5 – Exploiter et joindre des données avec SQL

Instructions SELECT/FROM

Dans les leçons précédentes, il nous arrivait de visualiser les données avec pgAdmin en cliquant droit sur la table et en cliquant sur ‘View/Edit Data > All Rows’.

Cela permet de récupérer les données stockées dans une table.
Nous pouvons donc visualiser les données stockées :

Bien que le résultat de cette démarche ressemble à un tableau avec des colonnes et des lignes, il n’est pas stocké dans la database comme le sont les tables.

En fait, ce que nous venons de faire c’est une requête SQL en utilisant l’instruction DML SELECT/FROM.
SELECT demande à une base de données de récupérer des données FROM une table.

 

 

Derrière les cliques, nous avons écrit cette requête SQL :

SELECT *
FROM air_quality ;

L’astérisque * signifie ‘tout’ ou ‘all’ pour les anglophones.

NB : Le langage SQL ne fait pas de distinction entre majuscule et minuscule, on dit que c’est un langage qui n’est pas sensible à la casse. Cependant, par convention (et lisibilité), il est préférable d’écrire les mots-clés et les instructions en majuscule.

SELECT et FROM

L’instruction SELECT permet de récupérer les données d’une table. SELECT est suivie d’une liste d’attribut (les colonnes). Pour récupérer tous les attributs, il faut utiliser l’astérisque *.

L’instruction FROM permet de définir la table qui fournira les données.

SELECT <attribut1, attribut2, …, attribut N>
FROM <table>;

NB : lorsque vous récupérez des données, il peut arriver que votre résultat contienne de nombreux doublons sur une seule et unique colonne. En effet, lorsque vous récupérez une colonne, vous récupérez autant de lignes que la table a de lignes. Pour éviter cela, il existe le mot-clé DISTINCT qu’on écrit directement après SELECT qui renvoie uniquement les lignes distinctes.

 

ORDER BY

L’instruction ORDER BY permet d’ordonner les résultats. ORDER BY est suivie d’un ou plusieurs attributs.

SELECT <attribut1, attribut2, …, attribut N>
FROM <table>
ORDER BY <attribut N>;

Par défaut, ORDER BY ordonne dans l’ordre croissant ASC, mais il est possible d’ordonner les résultats dans l’ordre décroissant en ajoutant le mot-clé DESC.

SELECT <attribut1, attribut2, …, attribut N>
FROM <table>
ORDER BY <attribut N> DESC;