17/18 Affiner le SQL Au début de la formation, j'ai signalé que je voulais obtenir le nombre de retraits de tests dans le mois. Pour l'instant, nous avons plutôt le nombre total de dépistages.
Oui, nous allons affiner le calcul dans la partie sql.
! Copier/coller le texte sans saut de ligne entre "nb_depi<-SELECT..." et ..."2010-12-31".
#### sql #### nb_depi<-SELECT COUNT(*) FROM Depi WHERE TestRetr BETWEEN "2010-01-01" AND "2010-12-31" #### affichage #### Nb de dépistages retirés en 2010: nb_depi
On a ajouté "WHERE etc.", ça signifie quoi ?
WHERE est un mot SQL qui permet de filtrer les données, il pose une condition. Dans cet exemple, on n'obtient pas tous les dépistages, mais seulement ceux retirés en 2010.
Les mots SQL sont toujours en majuscules ?
Oui, c'est pour les distinguer. En réalité, on pourrait écrire indifféremment en minuscules ou en majuscules. Mais c'est plus clair ainsi.
Et "TestRetr" ?
TestRetr est un mot propre à Santia, comme Depi la table des dépistages. TestRetr est une des informations contenues dans la table Depi: c'est la date du retrait du test de dépistage.
Et "BETWEEN" ?
BETWEEN est un mot SQL qui veut dire: entre telle date et telle date. AND sépare la date de début et la date de fin de la période.
Donc cela veut dire: le nombre de dépistages dont la date de retrait est comprise entre le 1er janvier 2010 et le 31 décembre 2010 ?
Exact. Les dépistages non retirés, ou retirés en dehors de la période, ne sont plus comptés. Notez que les dates sont sous la forme année-mois-jour (et non pas jour-mois-année) et entourées de guillemets.
|