corrections
38
tp2.md
38
tp2.md
@@ -1,4 +1,4 @@
|
||||
# Travaux dirigés
|
||||
# Travaux pratiques n°2
|
||||
|
||||
## 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;
|
||||
```
|
||||
|
||||
- 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
|
||||
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
|
||||
|
||||
@@ -39,7 +41,6 @@ select Name from tracks
|
||||
where Milliseconds > 300000 -- 5 * 60 * 1000
|
||||
```
|
||||
|
||||
|
||||
- Filtrer les clients dont l'age est inférieur à 25 ans
|
||||
|
||||
```sql
|
||||
@@ -56,6 +57,9 @@ select firstName || ' ' || lastName as nomComplet
|
||||
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
|
||||
|
||||
```sql
|
||||
@@ -64,6 +68,9 @@ select firstName || ' ' || lastName as nomComplet
|
||||
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
|
||||
|
||||
@@ -107,6 +114,29 @@ where InvoiceDate >= '2010-01-01'
|
||||
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
|
||||
|
||||
voir le détail de la fonction [strftime](https://sqlite.org/lang_datefunc.html)
|
||||
|
||||
Reference in New Issue
Block a user