Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βάσεις Δεδομένων Ι 8η διάλεξη

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων Ι 8η διάλεξη"— Μεταγράφημα παρουσίασης:

1 Βάσεις Δεδομένων Ι 8η διάλεξη

2 1 SQL

3 student(id, name, surname, age) department(id, name, perioxi)
Παραδείγματα student(id, name, surname, age) department(id, name, perioxi) student2department(studentid, departmentid, since)

4 SELECT name FROM student SELECT student.name FROM student
Επιλογή SELECT * FROM student SELECT name FROM student SELECT student.name FROM student SELECT s.name FROM student s SELECT s.name FROM student AS s

5 SELECT s.name, s.surname FROM student AS s
Επιλογή SELECT s.name, s.surname FROM student AS s

6 SELECT DISTINCT s.name FROM student AS s
Επιλογή SELECT DISTINCT s.name FROM student AS s

7 JOIN student2department AS sd ON s.id=sd.studentid
Επιλογή SELECT s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid

8 SELECT DISTINCT s.id, s.name, s.surname FROM student AS s
Επιλογή SELECT DISTINCT s.id, s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid

9 JOIN student2department AS sd ON s.id=sd.studentid
Επιλογή SELECT s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid JOIN department AS d ON d.id=sd.departmentid WHERE d.name = “Mixanikwn Ypologistwn”;

10 SELECT s.name, s.surname, s.age, s1.name, s1.surname, s1.age
Πράξεις SELECT s.name, s.surname, s.age, s1.name, s1.surname, s1.age FROM student AS s, student AS s1 WHERE s.age = s1.age+2;

11 Επιλογή Εμφάνισε τους φοιτητές που έχουν γραφτεί σε διαφορετικό τμήμα την ίδια χρονιά SELECT DISTINCT s.id, s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid JOIN student2department AS sd1 ON s.id=sd1.studentid WHERE sd.since=sd1.since AND sd.departmentid<>sd1.departmentid

12 Επιλογή Εμφάνισε το όνομα και το επώνυμο των φοιτητών που φοιτούν σε τμήμα με ονομασία που ξεκινάει τη φράση “Trof” SELECT s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid JOIN department AS d ON d.id=sd.departmentid WHERE d.name LIKE “Trof%”;

13 JOIN student2department AS sd ON s.id=sd.studentid
Επιλογή SELECT s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid JOIN department AS d ON d.id=sd.departmentid WHERE d.perioxi = “Kalamata” OR d.perioxi = “Sparti”;

14 JOIN student2department AS sd ON s.id=sd.studentid
Επιλογή SELECT s.name, s.surname FROM student AS s JOIN student2department AS sd ON s.id=sd.studentid JOIN department AS d ON d.id=sd.departmentid JOIN department AS d1 ON d1.id=sd.departmentid WHERE d.perioxi = “Kalamata” AND d1.perioxi = “Sparti”;

15 2 Πράξεις συνόλων

16 Ένωση δύο διαφορετικών πινάκων αποτελεσμάτων
Επιλογή Ένωση δύο διαφορετικών πινάκων αποτελεσμάτων SELECT name, surname FROM student WHERE age = 20 UNION WHERE age = 21

17 3 Εμφώλευση

18 Επιλογή των φοιτητών που έχουν φοιτήσει στο τμήμα με κωδικό 1
SELECT * FROM student WHERE id IN (SELECT studentid FROM student2department WHERE departmentid = 1);

19 Επιλογή Επιλογή των φοιτητών που έχουν φοιτήσει στο τμήμα με ονομασία Mixanikwn Ypologistwn SELECT * FROM student WHERE id IN (SELECT studentid FROM student2department WHERE departmentid IN (SELECT id FROM department WHERE name=“Mixanikwn Ypologistwn” ));

20 Παντού μπορεί να ισχύει ο αρνητικός παράγοντας NOT
Επιλογή Παντού μπορεί να ισχύει ο αρνητικός παράγοντας NOT SELECT * FROM student WHERE id NOT IN (SELECT studentid FROM student2department WHERE departmentid = 1);

21 4 Τελεστές συνάθροισης Και οργάνωσης…

22 GROUP BY (δημιουργεί ομάδες) ORDER BY (τοποθέτηση σε σειρά)
Πράξεις COUNT: πλήθος SUM: άθροισμα AVG: μέσος όρος MAX: μέγιστη τιμή ΜΙΝ: ελάχιστη τιμή GROUP BY (δημιουργεί ομάδες) ORDER BY (τοποθέτηση σε σειρά)

23 Να βρεθεί η μέση ηλικία των φοιτητών
Επιλογή Να βρεθεί η μέση ηλικία των φοιτητών SELECT AVG(age) FROM student

24 Επιλογή Να βρεθεί η μέση ηλικία των φοιτητών που φοιτούν σε τουλάχιστον ένα τμήμα SELECT AVG(s.age) FROM student AS s JOIN student2department as sd ON s.id=sd.studentid

25 Να βρεθεί η μέση ηλικία των φοιτητών που φοιτούν στο τμήμα 1
Επιλογή Να βρεθεί η μέση ηλικία των φοιτητών που φοιτούν στο τμήμα 1 SELECT AVG(s.age) FROM student AS s JOIN student2department as sd ON s.id=sd.studentid WHERE sd.departmentid=1

26 Να βρεθεί η μέγιστη ηλικία
Επιλογή Να βρεθεί η μέγιστη ηλικία SELECT MAX(s.age) FROM student AS s

27 Να βρεθεί η μέγιστη ηλικία του φοιτητή που φοιτά στο τμήμα 1
Επιλογή Να βρεθεί η μέγιστη ηλικία του φοιτητή που φοιτά στο τμήμα 1 SELECT MAX(s.age) FROM student AS s JOIN student2department as sd ON s.id=sd.studentid WHERE sd.departmentid=1

28 Να βρεθεί η μέγιστη ηλικία του φοιτητή που φοιτά στο τμήμα 1
Επιλογή Να βρεθεί η μέγιστη ηλικία του φοιτητή που φοιτά στο τμήμα 1 SELECT MAX(s.age) AS maxage FROM student AS s JOIN student2department as sd ON s.id=sd.studentid WHERE sd.departmentid=1

29 Να βρεθούν οι μέγιστες ηλικίες ανά τμήμα
Επιλογή Να βρεθούν οι μέγιστες ηλικίες ανά τμήμα SELECT MAX(s.age) AS maxage FROM student AS s JOIN student2department as sd ON s.id=sd.studentid GROUP BY sd.departmentid

30 Επιλογή Να βρεθούν οι μέγιστες ηλικίες ανά τμήμα που έχει περισσότερους από 5 μαθητές SELECT MAX(s.age) AS maxage FROM student AS s JOIN student2department as sd ON s.id=sd.studentid GROUP BY sd.departmentid HAVING COUNT(*) > 5

31 Μέτρησε πόσοι μαθητές υπάρχουν στο τμήμα 1
Επιλογή Μέτρησε πόσοι μαθητές υπάρχουν στο τμήμα 1 SELECT COUNT(*) AS totalStudent FROM student AS s JOIN student2department as sd ON s.id=sd.studentid WHERE sd.departmentid=1

32 Μέτρησε πόσοι μαθητές υπάρχουν ανά τμήμα
Επιλογή Μέτρησε πόσοι μαθητές υπάρχουν ανά τμήμα SELECT COUNT(*) AS totalStudent FROM student AS s JOIN student2department as sd ON s.id=sd.studentid GROUP BY sd.departmentid

33 Εμφάνισε όλους τους φοιτητές με αλφαβητική σειρά ονόματος
Επιλογή Εμφάνισε όλους τους φοιτητές με αλφαβητική σειρά ονόματος SELECT s.name, s.surname FROM student AS s ORDER BY s.name ASC

34 Εμφάνισε όλους τους φοιτητές με αντίστροφη αλφαβητική σειρά ονόματος
Επιλογή Εμφάνισε όλους τους φοιτητές με αντίστροφη αλφαβητική σειρά ονόματος SELECT s.name, s.surname FROM student AS s ORDER BY s.name DESC

35 Εμφάνισε όλους τους φοιτητές με αλφαβητική σειρά επιθέτου
Επιλογή Εμφάνισε όλους τους φοιτητές με αλφαβητική σειρά επιθέτου SELECT s.name, s.surname FROM student AS s ORDER BY s.surname ASC

36 5 JOIN

37 Επιλογή Id Name Surname age 1 V P 35 2 N S 37 Studentid Departmentid
since 1 2010

38 INNER JOIN (simple JOIN)
Id Name Surname age 1 V P 35 2 N S 37 INNER JOIN (simple JOIN) Studentid Departmentid since 1 2010 SELECT * FROM student AS s INNER JOIN student2department AS sd ON s.id = sd.studentid Id Name Surname age Studentid Departmentid since 1 V P 35 2010

39 LEFT JOIN student2department AS sd ON s.id = sd.studentid
Name Surname age 1 V P 35 2 N S 37 LEFT JOIN Studentid Departmentid since 1 2010 SELECT * FROM student AS s LEFT JOIN student2department AS sd ON s.id = sd.studentid Id Name Surname age Studentid Departmentid since 1 V P 35 2010 2 N S 37 null


Κατέβασμα ppt "Βάσεις Δεδομένων Ι 8η διάλεξη"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google