01. Liste des noms de candidats avec leur date de naissance.
SELECT NomCandidat, DateNaissance
FROM CANDIDAT ;
02. Liste des livres en précisant toutes les caractéristiques.
SELECT *
FROM LIVRE ;
03. Caractéristiques du ou des candidats dont le nom est FAURE.
SELECT *
FROM CANDIDAT
WHERE NomCandidat = “FAURE“ ;
SELECT*
04. Caractéristiques des livres dont le nom commence par I.
SELECT CodeLivre, NomLivre, NbrePages, Genre, CodeEditeur
FROM LIVRE
WHERE NomLivre Like " I%" ;
ou
NomLivre = " I*"
05. Caractéristiques des livres dont la deuxième lettre est « M ».
SELECT *
FROM LIVRE
WHERE NomLivre Like "_M%" ;
ou
NomLivre = "?M* ˝ ;
06. Liste des livres dans l’ordre décroissant des noms et dans l’ordre croissant des codes éditeurs.
SELECT CodeLivre, NomLivre, NbrePages, Genre, CodeEditeur
FROM LIVRE
ORDER BY 2 DESC, 5 ;
ou
ORDER BY NomLivre DESC, CodeEditeur ASC ;
07. Livres empruntés (Numéro Candidat, Code Livre, Nom Livre).
SELECT NumCandidat, LIVRE.CodeLivre, NomLivre
FROM EMPRUNTER, LIVRE
WHERE EMPRUNTER.CodeLivre = LIVRE.CodeLivre ;
08. Codes des éditeurs dont au moins un livre a été emprunté.
SELECT DISTINCT CodeEditeur
FROM LIVRE, EMPRUNTER
WHERE EMPRUNTER.CodeLivre = LIVRE.CodeLivre ;
09. Pour chaque emprunt, afficher le code livre, le code éditeur, le numéro et le nom du candidat
SELECT LIVRE.CodeLivre, CodeEditeur, CANDIDAT.NumCandidat, NomCandidat
FROM LIVRE, EMPRUNTER, CANDIDAT
WHERE EMPRUNTER.CodeLivre = LIVRE.CodeLivre
AND EMPRUNTER.NumCandidat = CANDIDAT.NumCandidat ;
10. Afficher les livres qui ont 100 pages ou plus et qui ont comme code éditeur FOU1 ou dont le nom est Info
SELECT CodeLivre, NomLivre
FROM LIVRE
WHERE NbrePages >= 100
AND (CodeEditeur = "FOU1" OR NomLivre = "Info") ;
11. Caractéristiques des livres dont le nombre de pages < 100.
SELECT *
FROM LIVRE
WHERE NbrePages < 100 ;
12. Liste alphabétique et nbre de pages des livres dont NbrePages < 100.
SELECT NomLivre, NbrePages
FROM LIVRE
WHERE NbrePages < 100
ORDER BY 1 ;
ou
ORDER BY NomLivre ASC ;
13. Afficher le numéro des candidats qui ont rendu le livre après 20 jours d’emprunt.
SELECT NumCandidat
FROM EMPRUNTER
WHERE DateRetour > DateEmprunt + 20 ;
14. Numéro de candidat, Code livre et date d’emprunt des livres non retournés.
SELECT NumCandidat, CodeLivre, DateEmprunt
FROM EMPRUNTER
WHERE DateRetour IS NULL ;
15. Caractéristiques des livres dont le nombre de pages est compris entre 50 (exclus) et 100 (exclus).
SELECT CodeLivre, CodeEditeur, NomLivre, NbrePages, Genre
FROM LIVRE
WHERE NbrePages BETWEEN 51 AND 99 ;
16. Caractéristiques des livres I101 et I102.
SELECT CodeLivre, NomLivre, NbrePages, Genre, CodeEditeur
FROM LIVRE
WHERE CodeLivre IN ("I101", "I102") ;
17. Liste des livres dont le nombre de pages est différent de 100.
SELECT *
FROM LIVRE
WHERE NbrePages <> 100 ;
18. Caractéristiques de tous les livres sauf I101 et I102.
SELECT *
FROM LIVRE
WHERE CodeLivre NOT IN ("I101", "I102") ;
19. Livres dont la première lettre ne commence pas par I.
SELECT CodeLivre, NomLivre, NbrePages, Genre, CodeEditeur
FROM LIVRE
WHERE NomLivre NOT Like " I* " ;
20. Déterminer le nombre de candidats.
SELECT COUNT(NumCandidat) AS NbCandidat
FROM CANDIDAT ;
21. Déterminer le total des pages à lire.
SELECT SUM(NbrePages) AS SommePages
FROM LIVRE ;
22. Nombre moyen de pages pour l’ensemble des livres.
SELECT AVG(NbrePages) As MoyPage
FROM LIVRE ;
23. Nombre de livres empruntés pour chaque N° de candidat.
SELECT NumCandidat, COUNT(CodeLivre) AS NbreLivre
FROM EMPRUNTER
GROUP BY NumCandidat ;
24. Nbre de livres empruntés pour chaque n° et nom de candidat.
SELECT CANDIDAT.NumCandidat, NomCandidat, COUNT(CodeLivre) As NbreLivre
FROM EMPRUNTER, CANDIDAT
WHERE EMPRUNTER.NumCandidat =CANDIDAT.NumCandidat
GROUP BY CANDIDAT.NumCandidat, NomCandidat ;
25. Nombre moyen de pages proposé par chaque code éditeur.
SELECT CodeEditeur, AVG(NbrePages)
FROM LIVRE
GROUP BY CodeEditeur ;
26. Nombre moyen de pages proposé par chaque éditeur.
SELECT EDITEUR.CodeEditeur, NomEditeur, AVG(NbrePages) AS MOYNbPages
FROM LIVRE, EDITEUR
WHERE LIVRE.CodeEditeur = EDITEUR.CodeEditeur
GROUP BY EDITEUR.CodeEditeur, NomEditeur ;
27. Code et nom des éditeurs dont le nbre moyen de pages > 83.
SELECT EDITEUR.CodeEditeur, NomEditeur, AVG(NbrePages) AS MOYNbPages
FROM LIVRE, EDITEUR
WHERE LIVRE.CodeEditeur = EDITEUR.CodeEditeur
GROUP BY EDITEUR.CodeEditeur, NomEditeur
HAVING AVG(NbrePages) > 83 ;