Listes : sous-points indentés à 4 espaces pour s'afficher sous leur question

This commit is contained in:
2026-10-02 10:00:30 +02:00
parent 977fa778e9
commit 8ec1ee8ba8
15 changed files with 260 additions and 260 deletions
+51 -51
View File
@@ -175,19 +175,19 @@ Pour tous les exercices, on considère la base de données d'une médiathèque c
## Exercice 8 : INSERT, UPDATE, DELETE
1. Écrire une requête pour ajouter l'auteur suivant :
- id : 9
- nom : "Le Guin"
- prénom : "Ursula K."
- nationalité : "américain"
- année de naissance : 1929
- id : 9
- nom : "Le Guin"
- prénom : "Ursula K."
- nationalité : "américain"
- année de naissance : 1929
2. Écrire une requête pour ajouter le livre suivant :
- id : 13
- titre : "La Main gauche de la nuit"
- id_auteur : 9
- année de publication : 1969
- genre : "SF"
- nombre de pages : 304
- id : 13
- titre : "La Main gauche de la nuit"
- id_auteur : 9
- année de publication : 1969
- genre : "SF"
- nombre de pages : 304
3. Écrire une requête pour changer le genre de "Dune" en "SF".
@@ -200,17 +200,17 @@ Pour tous les exercices, on considère la base de données d'une médiathèque c
## Exercice 9 : Création de tables
1. Écrire la requête SQL pour créer la table EMPRUNTS avec :
- id (entier, clé primaire)
- id_livre (entier, clé étrangère vers LIVRES)
- id_adherent (entier)
- date_emprunt (date)
- date_retour (date, peut être NULL)
- id (entier, clé primaire)
- id_livre (entier, clé étrangère vers LIVRES)
- id_adherent (entier)
- date_emprunt (date)
- date_retour (date, peut être NULL)
2. Écrire la requête SQL pour créer une table EDITEURS avec :
- id (entier, clé primaire)
- nom (texte)
- pays (texte)
- ann_creation (entier)
- id (entier, clé primaire)
- nom (texte)
- pays (texte)
- ann_creation (entier)
3. Comment modifier la table LIVRES pour ajouter une colonne id_editeur qui référence la table EDITEURS ?
@@ -221,54 +221,54 @@ Pour tous les exercices, on considère la base de données d'une médiathèque c
Pour chaque requête suivante, décrire en français ce qu'elle retourne :
1. ```sql
SELECT titre FROM LIVRES WHERE ann_publi = (SELECT MIN(ann_publi) FROM LIVRES);
```
SELECT titre FROM LIVRES WHERE ann_publi = (SELECT MIN(ann_publi) FROM LIVRES);
```
2. ```sql
SELECT A.nom, COUNT(*)
FROM AUTEURS A
INNER JOIN LIVRES L ON A.id = L.id_auteur
GROUP BY A.id
HAVING COUNT(*) = (SELECT MAX(cnt) FROM (SELECT COUNT(*) as cnt FROM LIVRES GROUP BY id_auteur));
```
2. ```sql
SELECT A.nom, COUNT(*)
FROM AUTEURS A
INNER JOIN LIVRES L ON A.id = L.id_auteur
GROUP BY A.id
HAVING COUNT(*) = (SELECT MAX(cnt) FROM (SELECT COUNT(*) as cnt FROM LIVRES GROUP BY id_auteur));
```
3. ```sql
SELECT DISTINCT genre FROM LIVRES WHERE genre NOT IN (SELECT genre FROM LIVRES WHERE ann_publi < 1950);
```
SELECT DISTINCT genre FROM LIVRES WHERE genre NOT IN (SELECT genre FROM LIVRES WHERE ann_publi < 1950);
```
---
## Exercice 11 : QCM
1. Quelle clause permet de filtrer les résultats d'un GROUP BY ?
- [ ] a) WHERE
- [ ] b) FILTER
- [ ] c) HAVING
- [ ] d) GROUP FILTER
- [ ] a) WHERE
- [ ] b) FILTER
- [ ] c) HAVING
- [ ] d) GROUP FILTER
2. Quelle est la différence entre WHERE et HAVING ?
- [ ] a) Aucune, ils sont équivalents
- [ ] b) WHERE filtre avant GROUP BY, HAVING filtre après
- [ ] c) HAVING filtre avant GROUP BY, WHERE filtre après
- [ ] d) WHERE ne fonctionne qu'avec les nombres
- [ ] a) Aucune, ils sont équivalents
- [ ] b) WHERE filtre avant GROUP BY, HAVING filtre après
- [ ] c) HAVING filtre avant GROUP BY, WHERE filtre après
- [ ] d) WHERE ne fonctionne qu'avec les nombres
3. Que retourne `SELECT COUNT(*) FROM LIVRES WHERE 1=0;` ?
- [ ] a) Une erreur
- [ ] b) NULL
- [ ] c) 0
- [ ] d) Rien
- [ ] a) Une erreur
- [ ] b) NULL
- [ ] c) 0
- [ ] d) Rien
4. Quel type de jointure retourne tous les enregistrements de la table de gauche ?
- [ ] a) INNER JOIN
- [ ] b) LEFT JOIN
- [ ] c) RIGHT JOIN
- [ ] d) CROSS JOIN
- [ ] a) INNER JOIN
- [ ] b) LEFT JOIN
- [ ] c) RIGHT JOIN
- [ ] d) CROSS JOIN
5. Quelle fonction d'agrégation ignore les valeurs NULL ?
- [ ] a) COUNT(*)
- [ ] b) COUNT(colonne)
- [ ] c) Les deux
- [ ] d) Aucune
- [ ] a) COUNT(*)
- [ ] b) COUNT(colonne)
- [ ] c) Les deux
- [ ] d) Aucune
---