Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016
Άσκηση 5: Απαντήσεις στις Ασκήσεις Structured Query Language (SQL)
Οι Πίνακες της Βάσης Δεδομένων που θα χρησιμοποιηθούν στις ασκήσεις
Ασκήσεις Να γράψετε τα ερωτήματα SQL που υλοποιούν τα παρακάτω: 1. Εμφάνισε τα στοιχεία των υπαλλήλων που είναι άνδρες. 2. Εμφάνισε τα στοιχεία των γυναικών υπαλλήλων με θέση «Manager» 3. Εμφάνισε τα στοιχεία των υπαλλήλων με έτος γέννησης μεγαλύτερο ή ίσο από το 1965 4. Εμφάνισε τα στοιχεία των διαμερισμάτων που βρίσκονται στη Γλασκώβη (Glasgow). 5. Εμφάνισε τον αριθμό των ανδρών και των γυναικών που εργάζονται σε όλη την εταιρία 6. Εμφάνισε για κάθε κατάστημα της εταιρίας των αριθμό των ανδρών και των γυναικών που εργάζονται 7. Εμφάνισε τα στοιχεία των ακινήτων που είναι διαμερίσματα (τύπος = Flat) 8. Εμφάνισε τον αριθμό των διαμερισμάτων και των μονοκατοικιών που διαχειρίζεται η εταιρία 9. Εμφάνισε τις μονοκατοικίες που διαχειρίζεται η εταιρία (type = House) κατά φθίνουσα σειρά ενοικίου 10.Εμφάνισε τη μέση τιμή ενοικίου για τα διαμερίσματα 11.Εμφάνισε τη μέση τιμή ενοικίου για τα διαμερίσματα και τις μονοκατοικίες (με ένα ερώτημα) 12.Εμφάνισε τα στοιχεία των ακινήτων που ανήκουν στον ιδιοκτήτη με επώνυμο «Farrel» 13.Εμφάνισε τα στοιχεία των ακινήτων που επιβλέπει η υπάλληλος με επώνυμο «Beech» 14.Εμφάνισε τα στοιχεία των ακινήτων που ικανοποιούν τους περιορισμούς του πελάτη με επώνυμο «Kay» και όνομα «John». 15.Εμφάνισε τη διεύθυνση, την πόλη, τον τύπο και το ενοίκιο των ακινήτων που έχει δει η πελάτης Aline Stweart.
Άσκηση 1: Εμφάνισε τα στοιχεία των υπαλλήλων που είναι άνδρες. SELECT * FROM Staff WHERE sex = M
Άσκηση 2: Εμφάνισε τα στοιχεία των γυναικών υπαλλήλων με θέση «Manager» SELECT * FROM Staff WHERE (sex = F ) AND (position= Manager )
Άσκηση 3: Εμφάνισε τα στοιχεία των υπαλλήλων με έτος γέννησης μεγαλύτερο ή ίσο από το 1965 SELECT * FROM Staff WHERE YEAR(DOB) >= 1965
Άσκηση 4: Εμφάνισε τα στοιχεία των διαμερισμάτων που βρίσκονται στη Γλασκώβη (Glasgow) SELECT * FROM PropoertyForRent WHERE city = Glasgow
Άσκηση 5: Εμφάνισε τον αριθμό των ανδρών και των γυναικών που εργάζονται σε όλη την εταιρία SELECT sex, COUNT(*) FROM Staff GROUP BY sex
Άσκηση 6: Εμφάνισε για κάθε κατάστημα της εταιρίας των αριθμό των ανδρών και των γυναικών που εργάζονται SELECT branchno, sex, COUNT(*) FROM Staff GROUP BY branchno, sex
Άσκηση 7: Εμφάνισε τα στοιχεία των ακινήτων που είναι διαμερίσματα (τύπος = Flat) SELECT * FROM propertyforrent WHERE type = Flat
Άσκηση 8: Εμφάνισε τον αριθμό των διαμερισμάτων και των μονοκατοικιών που διαχειρίζεται η εταιρία SELECT type, COUNT(*) FROM propertyforrent GROUP BY type
Άσκηση 9: Εμφάνισε τις μονοκατοικίες που διαχειρίζεται η εταιρία (type = House) κατά φθίνουσα σειρά ενοικίου SELECT * FROM propertyforrent WHERE type = House ORDER BY rent DESC
Άσκηση 10: Εμφάνισε τη μέση τιμή ενοικίου για τα διαμερίσματα SELECT AVG(rent) FROM propertyforrent WHERE type = Flat
Άσκηση 11: Εμφάνισε τη μέση τιμή ενοικίου για τα διαμερίσματα και τις μονοκατοικίες (με ένα ερώτημα) SELECT type, AVG(rent) FROM propertyforrent GROUP BY type
Άσκηση 12: Εμφάνισε τα στοιχεία των ακινήτων που ανήκουν στον ιδιοκτήτη με επώνυμο «Farrel» SELECT p.* FROM propertyforrent p, privateowner o WHERE (p.ownerno = o.ownerno) AND (o.lname = Farrel ) ή SELECT p.* FROM propertyforrent p WHERE p.ownerno = ( SELECT ownerno FROM privateowner WHERE lname = Farrel )
Άσκηση 13: Εμφάνισε τα στοιχεία των ακινήτων που επιβλέπει η υπάλληλος με επώνυμο «Beech» SELECT p.* FROM PropertyForRent p, Staff s WHERE (p.staffno = s.staffno) AND (s.lname = Beech ) Ή SELECT p.* FROM propertyforrent p WHERE p.staffno = ( SELECT staffno FROM Staff WHERE lname = Beech )
Άσκηση 14: Εμφάνισε τα στοιχεία των ακινήτων που ικανοποιούν τους περιορισμούς του πελάτη με επώνυμο «Kay» και όνομα «John». SELECT p.* FROM PropertyForRent p, Client c WHERE (p.type = c.preftype) AND (p.rent <= c.maxrent) AND (c.fname = John ) AND (c.lname= Kay )
Άσκηση 15: Εμφάνισε τη διεύθυνση, την πόλη, τον τύπο και το ενοίκιο των ακινήτων που έχει δει η πελάτης Aline Stweart. SELECT p.street, p.city, p.type, p.rent FROM PropertyForRent p, Client c, Viewing.v WHERE (v.clientno = c.clientno) AND (v.propertyno <= p.propertyno) AND (c.lname = Stewart ) AND (c.fname = Aline )
Πηγές: Database Systems: A Practical Approach to Design, Implementation, and Management Thomas Connolly Carolyn Begg