Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
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
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.