tp2b
81
td1/Script-10.sql
Normal file
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
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
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)
|
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
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
|
||||||
|
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user