You are on page 1of 3

ΕΡΓΑΣΤΗΡΙΟ 6 – Ένθετα ερωτήματα

ΕΝΘΕΤΑ ΕΡΩΤΗΜΑΤΑ

Μέχρι τώρα χρησιμοποιούσαμε ερωτήματα (SELECT) για να εξάγουμε κάποια δεδομένα από
τη βάση.
Σήμερα θα δείτε πως μπορείτε τα αποτελέσματα/έξοδος ενός ερωτήματος σας (SELECT) να
χρησιμοποιηθούν σαν είσοδο σε ένα άλλο.

Θυμηθείτε ότι με τον όρο IN(…) ορίζουμε μια λίστα πιθανών τιμών, πχ.

…where age ΙΝ (40,30)

δηλαδή το age να είναι είτε 40 είτε 30

Εκτελέστε:
select * from personal_info
where age in (
select age
from personal_info
where age=40
);

Εμφανίζει όλους τους σπουδαστές που το f_id τους είναι κάποιο από αυτά που επιστρέφει το
ένθετο ερώτημα. Το ένθετο ερώτημα εδώ επιστρέφει μόνο την τιμή 1.

Σχηματικά:

select f_id from simmetoxi


where f_id='321/001'

select * from foititis


where f_id in ( )

Το παραπάνω θα μπορούσε να γίνει και χωρίς ένθετο SELECT. (Πώς;)


Εντούτοις, την χρησιμότητα των ένθετων θα την αντιληφθείτε στο ΘΕΜΑ 1.
ΘΕΜΑ 1.Επιστρέψτε τη μεγαλύτερη ηλικία φοιτητή.
Τώρα επιστρέψτε όλα τα στοιχεία του φοιτητή με τη μεγαλύτερη ηλικία.
Απάντηση:

ΘΕΜΑ 2. Εμφανίστε όλους τους σπουδαστές που παρακολουθούν Τουλάχιστον 1 μαθημα.

ΘΕΜΑ 3.Χρησιμοποιήστε ένθετο ερώτημα για να εξάγετε τους σπουδαστές του ΙΕΚ που
παρακολουθούν βάσεις δεδομενων 1.
Απάντηση:

Με την χρήση της συνάρτησης substring(<στήλη>,


θέση έναρξης, μήκος). Πχ substring(‘ΑΣΚΗΣΗ’,3,2) = ‘ΚΗ’. Επαναλάβετε το ερώτημα
βρίσκοντας τους σπουδαστές που παρακολουθούν ‘Vase’

ΘΕΜΑ 4.Χρησιμοποιήστε ένθετο ερώτημα Εμφανίστε όνομα ,επώνυμο και την ηλικία των
σπουδαστών
Απάντηση:

You might also like