ΕΡΓΑΣΤΗΡΙΟ 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 ('%' + ΠΕΛΑΤΗΣ.Όνομα + '%');