corrections
38
tp2.md
38
tp2.md
@@ -1,4 +1,4 @@
|
|||||||
# Travaux dirigés
|
# Travaux pratiques n°2
|
||||||
|
|
||||||
## Sélections de colonnes
|
## Sélections de colonnes
|
||||||
|
|
||||||
@@ -14,13 +14,15 @@ Afficher les colonnes prénom, nom et ville de la table clients.
|
|||||||
SELECT FirstName, LastName, City from customers;
|
SELECT FirstName, LastName, City from customers;
|
||||||
```
|
```
|
||||||
|
|
||||||
- Listez le nom complet de tous les clients. Le nom complet est la concaténation dans une seule colonne du prénom et du nom. Donner le titre NomComplet à cette colonne.
|
- Afficher le nom complet de tous les clients. Le nom complet est la concaténation dans <ins>une seule colonne</ins> du prénom et du nom. Donner le titre NomComplet à cette colonne.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
select firstName || ' ' || lastName as nomComplet, City from customers;
|
select firstName || ' ' || lastName as nomComplet, City from customers;
|
||||||
```
|
```
|
||||||
|
|
||||||
le mot clé `as` permet de spécifier ou renommer le titre d'une colonne
|
L'opérateur `||` est l'opérateur de concaténation de chaine équivalent à + mais pour le texte.
|
||||||
|
|
||||||
|
Le mot clé `as` permet de spécifier ou renommer le titre d'une colonne
|
||||||
|
|
||||||
## Tri
|
## Tri
|
||||||
|
|
||||||
@@ -39,7 +41,6 @@ select Name from tracks
|
|||||||
where Milliseconds > 300000 -- 5 * 60 * 1000
|
where Milliseconds > 300000 -- 5 * 60 * 1000
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
- Filtrer les clients dont l'age est inférieur à 25 ans
|
- Filtrer les clients dont l'age est inférieur à 25 ans
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
@@ -56,6 +57,9 @@ select firstName || ' ' || lastName as nomComplet
|
|||||||
where Country = 'Brazil'
|
where Country = 'Brazil'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[!WARNING]
|
||||||
|
Le respect des majuscules n'est pas obligatoire pour le nom des tables et colonnes mais cela l'est pour les valeurs *brazil* est différent de *Brazil*.
|
||||||
|
|
||||||
- Filtrer les clients dont l'age est inférerieur à 25 ans et qui vivent aux USA
|
- Filtrer les clients dont l'age est inférerieur à 25 ans et qui vivent aux USA
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
@@ -64,6 +68,9 @@ select firstName || ' ' || lastName as nomComplet
|
|||||||
where Age < 25 and Country = 'USA'
|
where Age < 25 and Country = 'USA'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
L'opérateur `and` effectue un ET logique entre 2 conditions.
|
||||||
|
|
||||||
|
Ici aussi il faut respecter les majuscules pour la valeur *USA*.
|
||||||
|
|
||||||
- Filter les albums qui sont sortis entre 1984 et 1989
|
- Filter les albums qui sont sortis entre 1984 et 1989
|
||||||
|
|
||||||
@@ -107,6 +114,29 @@ where InvoiceDate >= '2010-01-01'
|
|||||||
and InvoiceDate <= '2010-12-31'
|
and InvoiceDate <= '2010-12-31'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```sql
|
||||||
|
select InvoiceId, InvoiceDate , Total
|
||||||
|
from invoices
|
||||||
|
where InvoiceDate between '2010-01-01' and '2010-12-31'
|
||||||
|
```
|
||||||
|
|
||||||
|
```sql
|
||||||
|
select InvoiceId, InvoiceDate , Total
|
||||||
|
from invoices
|
||||||
|
where STRFTIME('%Y', InvoiceDate) = '2010'
|
||||||
|
```
|
||||||
|
|
||||||
|
strftime *string from time* il faut les ''
|
||||||
|
|
||||||
|
```sql
|
||||||
|
--
|
||||||
|
select InvoiceId, InvoiceDate , Total
|
||||||
|
from invoices
|
||||||
|
where cast(STRFTIME('%Y', InvoiceDate) as INT) = 2010
|
||||||
|
```
|
||||||
|
|
||||||
|
`cast` transforme la chaine en entier (nombre)
|
||||||
|
|
||||||
### strftime
|
### strftime
|
||||||
|
|
||||||
voir le détail de la fonction [strftime](https://sqlite.org/lang_datefunc.html)
|
voir le détail de la fonction [strftime](https://sqlite.org/lang_datefunc.html)
|
||||||
|
|||||||
Reference in New Issue
Block a user