tp2b

2025-11-05 12:59:36 +01:00
parent 0df9be5965
commit 2037163852
4 changed files with 161 additions and 70 deletions

81
td1/Script-10.sql Normal file

@@ -0,0 +1,81 @@
-- Ajouter une société
-- Il faut mettre TOUTES les colonnes id et nom
-- dans l'ordre
insert into societe values (1, 'UPS');
-- Plusieurs ligne en une seule commande
-- Je peux spécifier qu'une seule colonne (ville)
-- id est alors AUTO incrementé 1, 2, 3, 4, ...
INSERT into entrepot (ville) values
('Saint Dié'),
('Paris'),
('Lyon'),
('Marseille');
-- supprimer TOUS les entrepots dont l'id > 4
DELETE FROM entrepot WHERE id > 4;
insert INTO chauffeur (id, nom) values
(1, 'Albert'),
(2, 'Samia'),
(3, 'Samy');
-- Je n'ai pas encore les permis
insert into camion (immatriculation, marque,
capacite) values
('FR-234-PO', 'Volvo', 44),
('EU-324-FE', 'Renault', 35),
('DF-463-VD', 'Mercedes', 44),
('CD-333-LW', 'Volvo', 35);
insert into camion (immatriculation, marque,
capacite) values
('BG-468-VS', 'Iveco', 20);
insert into permis (categorie, poids_maximum)
values
('A', 0.75),
('B', 3.5),
('C', 35),
('D', 44);
-- Mise à jour individuelle suivant la clé primaire
-- (primary key)
update camion set permis = 'D'
WHERE immatriculation = 'FR-234-PO';
-- Mise à jour de plusieurs ligne suivant la capacité
update camion set permis = 'D'
WHERE capacite = 44;
update camion set permis = 'C'
WHERE capacite = 35;
insert into examen (numero, date,
permis, chauffeur_id) values
(11156, '2020-04-20', 'A', 1),
(98212, '2023-06-13', 'B', 1),
(66874, '2022-10-21', 'C', 2);
insert into transport values
(1, '2025-09-20', 'FR-234-PO', 2, 1, 3);
insert into transport values
(2, '2030-09-20', 'ZZ-000-ZZ', 20, 10, 300);
-- Activer le contrôle des clés étrangères
PRAGMA foreign_keys = ON;
PRAGMA foreign_keys;
UPDATE camion set permis = 'Z'
WHERE capacite > 30;

11
td1/Script-8.sql Normal file

@@ -0,0 +1,11 @@
-- * = toutes les colonnes
select * from entrepot
-- where filtre sur la marque
select * from camion
where marque = 'Volvo'
-- like recherche comme % n'importe quels caractères
select * from chauffeur
where nom like 'Sam%'

70
tp2.md

@@ -379,73 +379,3 @@ Utilisation de `distinct` pour supprimer les doublons.
```
Attention l'égalité est stricte sur FirstName et LastName (respect des majuscules / minuscules)
## Utilisation des dates
### 12. Recette après le 01/05/2013
```sql
```
### 13. Recette entre le 15/04/2012 et le 20/06/2012
```sql
```
### 14. Recette du mois de février 2012
```sql
```
STRFTIME (string from datetime) permet de formater au format de texte un date. Le format est complètement libre et personnalisable.
### 15. Recettes par mois
```sql
```
### 16. Recette de l'année 2013
```sql
```
## Recherche sur le texte
### 17. Liste des pistes qui contiennent le mot Love
```sql
```
L'opérateur LIKE ne tient pas compte de la différence minuscule/majuscule
### 18. Liste des pistes qui contiennent les lettres Sun
```sql
```
### 19. Liste des pistes qui contiennent le mot Sun
```sql
```
## Cohérence
### 20. Le total de chaque facture est il juste ?
```sql
```
ou en utilisant ROUND : HAVING i.Total <> Round(somme,2)
### 21. Existe t il des pistes dont le prix unitaire a évolué ?
```sql
```

69
tp2b.md Normal file

@@ -0,0 +1,69 @@
## Utilisation des dates
### 12. Recette après le 01/05/2013
```sql
```
### 13. Recette entre le 15/04/2012 et le 20/06/2012
```sql
```
### 14. Recette du mois de février 2012
```sql
```
STRFTIME (string from datetime) permet de formater au format de texte un date. Le format est complètement libre et personnalisable.
### 15. Recettes par mois
```sql
```
### 16. Recette de l'année 2013
```sql
```
## Recherche sur le texte
### 17. Liste des pistes qui contiennent le mot Love
```sql
```
L'opérateur LIKE ne tient pas compte de la différence minuscule/majuscule
### 18. Liste des pistes qui contiennent les lettres Sun
```sql
```
### 19. Liste des pistes qui contiennent le mot Sun
```sql
```
## Cohérence
### 20. Le total de chaque facture est il juste ?
```sql
```
ou en utilisant ROUND : HAVING i.Total <> Round(somme,2)
### 21. Existe t il des pistes dont le prix unitaire a évolué ?
```sql
```