Langage SQL : Gestion Bibliothèque (Jointures)
قم بإنشاء الاستعلامات التالية
1. أمام كل عنوان كتاب، اعرض اسم ولقب مؤلفه
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. عرض الاسم واللقب للمقترضين يليه تاريخ الاقتراض
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. عرض عنوان الكتاب واسم مؤلفه متبوعًا باسم المقترض
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. نتيجة لمشاكل إدخال الكمبيوتر، هناك عدد من الكتب المقترضة بدون أسماء المقترضين. اعرض جميع الكتب المقترضة متبوعًا باسم المقترض سواء كان هناك مقترض أم لا
SELECT idemprunt, nom
FROM emprunts LEFT OUTER JOIN emprunteurs USING(idemprunteur) ORDER BY idemprunt ASC;
5. اعرض قائمة القروض متبوعة بمعرف المقترض فقط إذا كان هناك مقترض، وكذلك جميع المقترضين الذين لم يقومو بأية عملية اقتراض من قبل
SELECT idemprunt, idemprunteur
FROM emprunts RIGHT OUTER JOIN emprunteurs USING(idemprunteur) ORDER BY idemprunteur ASC;
6. عرض قائمة الكتب الذين ليس لديهم مقترضين أو الذين لم يقترضوا من قبل
SELECT idemprunt, idemprunteur FROM emprunts FULL OUTER JOIN emprunteurs USING(idemprunteur) ORDER BY idemprunteur ASC;
ملاحظة: حاولت قدر الإمكان ترجمة الإسئلة من اللغة الفرنسية إلى
العربية لا أدري إن كان الترجمة صحيحة أم ينقصها تحسين من حيث المفردات الهذف هو
نقل المعلومة باللغة العربية.
Commentaires
Enregistrer un commentaire