Exercice Langage SQL : Gestion Bibliothèque (Jointures)

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



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.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849--1 - En face de chaque titre d'ouvrage, afficher le nom et prénom de son auteur.  SELECT titre, nom, prenomFROM livres, auteursWHERE livres.idauteur = auteurs.idauteurORDER BY titre ASC; -- on aurait obtenu le même résultat avec la jointure interne suivante: SELECT titre, nom, prenomFROM 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, datepretFROM emprunteurs, empruntsWHERE emprunteurs.idemprunteur = emprunts.idemprunteur; -- on aurait obtenu le même résultat avec la jointure interne suivante: SELECT nom, prenom, datepretFROM 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.nomFROM livres, auteurs, emprunteurs, empruntsWHERE emprunts.idlivre = livres.idlivreAND emprunts.idemprunteur = emprunteurs.idemprunteurAND 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, nomFROM 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, idemprunteurFROM 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, idemprunteurFROM emprunts FULL OUTER JOIN emprunteurs USING(idemprunteur)ORDER BY idemprunteur ASC;
Article publié le 14 Décembre 2011