ΕΡΓΑΣΤΗΡΙΟ 2 (27/11/2007)
ΕΞΕΤΑΖΟΜΕΝΕΣ ΑΣΚΗΣΕΙΣ
1.
“Να βρεθούν τα ονόματα των
πελατών που έχουν ενοικιάσει τουλάχιστον μία κασέτα”
Select distinct
ΠΕΛΑΤΗΣ.Όνομα
From ΠΕΛΑΤΗΣ inner join ΕΝΟΙΚΙΑΣΗ on
ΕΝΟΙΚΙΑΣΗ.IDΠελάτη
= ΠΕΛΑΤΗΣ.ID;
2.
“Να βρεθούν τα ονόματα των
πελατών που δεν έχουν ενοικιάσει ούτε μία κασέτα” (να μην χρησιμοποιηθεί ο
τελεστής NOT IN).
Select ΠΕΛΑΤΗΣ.Όνομα
From ΠΕΛΑΤΗΣ left outer join ΕΝΟΙΚΙΑΣΗ on
ΕΝΟΙΚΙΑΣΗ.IDΠελάτη
= ΠΕΛΑΤΗΣ.ID
Where ΕΝΟΙΚΙΑΣΗ.IDΠελάτη IS NULL;
3.
“Να βρεθούν οι κωδικοί των
συντελεστών που έχουν συμμετάσχει σε τουλάχιστον 2 ταινίες” (να μην
χρησιμοποιηθεί ο τελεστής COUNT).
Select distinct ΤΣ1.IDΣυντελεστή
From ΤΣ as ΤΣ1, ΤΣ as ΤΣ2
Where ΤΣ1.IDΣυντελεστή = ΤΣ2.IDΣυντελεστή and
ΤΣ1.IDΤαινίας <> ΤΣ2.IDΤαινίας;
Να λύσετε μόνο μία (1) από τις 2 επόμενες:
4.
“Να βρεθούν οι τίτλοι των
ταινιών για τις οποίες είτε δεν υπάρχει κασέτα, είτε υπάρχει κασέτα και δεν
έχει ενοικιαστεί ποτέ” (να μην χρησιμοποιηθεί ο τελεστής NOT IN).
Select Τίτλος
From ΤΑΙΝΙΑ left outer join ΚΑΣΕΤΑ on
ΚΑΣΕΤΑ.IDΤαινίας = ΤΑΙΝΙΑ.ID
left outer join ΕΝΟΙΚΙΑΣΗ on
ΕΝΟΙΚΙΑΣΗ.IDΚασέτας = ΚΑΣΕΤΑ.ID
Where ΕΝΟΙΚΙΑΣΗ.IDΚασέτας IS NULL;
5.
“Να βρεθούν οι πελάτες με
επίθετο ίδιο με αυτό κάποιου συντελεστή ταινίας”.
Select ΠΕΛΑΤΗΣ.Όνομα
From ΠΕΛΑΤΗΣ, ΣΥΝΤΕΛΕΣΤΗΣ
Where ΣΥΝΤΕΛΕΣΤΗΣ.Όνομα like
('%' + ΠΕΛΑΤΗΣ.Όνομα + '%');