- Exercice sur les Jointures - Licence Fondamentale d'Informatique
lundi 25 mars 2013

Exercice sur les Jointures

Objectif : Pouvoir réaliser des Requêtes en SQL.

Enoncé de l'Exercice:

On considère le schéma relationnel suivant qui modélise une application sur la gestion d’une Bibliothèque
Bibliothque

Créer les requêtes suivantes:
  1. En face de chaque titre d'ouvrage, afficher le nom et prénom de son auteur. 
  2. Afficher le nom et le prenom des emprunteurs suivi de la date de ses emprunts. 
  3. Affichez le titre et l'auteur des ouvrages empruntés suivi du nom de leur emprunteur 
  4. A la suite de problèmes de saisie informatique, il existe un certain nombre d'emprunts sans emprunteurs. Affichez l'identifiant de tous les emprunts suivi du nom de l'emprunteur qu'il y en ait un ou non 
  5. Afficher la liste des emprunts suivi de l'identifiant de l'emprunteur seulement s'il y a un emprunteur, mais aussi comprenant les emprunteurs n'ayant pas encore effectué d'emprunts. 
  6. Afficher la liste des emprunts et des emprunteurs que les emprunts n'ai pas d'emprunteurs ou que les emprunteurs n'ai jamais efectué d'emprunts.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
--1 - En face de chaque titre d'ouvrage, afficher le nom et prénom de son auteur. 
 
SELECT titre, nom, prenom
FROM livres, auteurs
WHERE livres.idauteur = auteurs.idauteur
ORDER BY titre ASC;
 
-- on aurait obtenu le même résultat avec la jointure interne suivante:
 
SELECT titre, nom, prenom
FROM livres JOIN auteurs USING (idauteur)
ORDER BY titre ASC;
 
-- 2 - Afficher le nom et le prenom des emprunteurs suivi de la date de ses emprunts. 
 
SELECT nom, prenom, datepret
FROM emprunteurs, emprunts
WHERE emprunteurs.idemprunteur = emprunts.idemprunteur;
 
-- on aurait obtenu le même résultat avec la jointure interne suivante:
 
SELECT nom, prenom, datepret
FROM emprunteurs JOIN emprunts USING(idemprunteur);
 
-- 3 - Affichez le titre et l'auteur des ouvrages empruntés suivi du nom de leur emprunteur 
 
SELECT titre, auteurs.nom, emprunteurs.nom
FROM livres, auteurs, emprunteurs, emprunts
WHERE emprunts.idlivre = livres.idlivre
AND emprunts.idemprunteur = emprunteurs.idemprunteur
AND livres.idauteur = auteurs.idauteur; 
 
-- 4 - A la suite de problèmes de saisie informatique, il existe un certain nombre d'emprunts sans emprunteurs. Affichez l'identifiant de tous les emprunts suivi du nom de l'emprunteur qu'il y en ait un ou non 
 
SELECT idemprunt, nom
FROM emprunts LEFT OUTER JOIN emprunteurs USING(idemprunteur)
ORDER BY idemprunt ASC;
 
-- 5 - Afficher la liste des emprunts suivi de l'identifiant de l'emprunteur seulement s'il y a un emprunteur, mais aussi comprenant les emprunteurs n'ayant pas encore effectué d'emprunts. 
 
SELECT idemprunt, idemprunteur
FROM emprunts RIGHT OUTER JOIN emprunteurs USING(idemprunteur)
ORDER BY idemprunteur ASC;
 
-- 6 - Afficher la liste des emprunts et des emprunteurs que les emprunts n'ai pas d'emprunteurs ou que les emprunteurs n'ai jamais efectué d'emprunts. 
 
SELECT idemprunt, idemprunteur
FROM emprunts FULL OUTER JOIN emprunteurs USING(idemprunteur)
ORDER BY idemprunteur ASC;

0 commentaires:

Enregistrer un commentaire

 
-