ΤΕΙ Κεντρικής Μακεδονίας. Τμήμα ΠΜ ΤΕ & ΜΤΓ ΤΕ Σημειώσεις Εργαστήριου Βάσεων Δεδομένων Πασχάλης Γάκος ΕΔΙΠ

Σχετικά έγγραφα
Επαμαληπτική Άσκηση Access

ΔΙΑΒΗΣΗ -ΠΑΙΔΙ ΚΑΙ ΔΙΑΣΡΟΦΗ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Κετάλαιξ 6. Τβοιδικέπ Δξμέπ Δεδξμέμχμ

x και επειδή είμαι ρσμευήπ, διαςηοεί ρςαθεοό ποόρημξ. f x 2f x x x x x 2 x x x g x 0 g x f x x 0 f x x, 1 f x 2f x x x x g x 0 για κάθε

ATTRACT MORE CLIENTS ΒΕ REMARKABLE ENJOY YOUR BUSINESS ΣΕΛ. 1

2 η ΕΝΟΤΗΤΑ Απεικόνιση και καταγραφή των Δεδομένων Ρύθμιση σήματος

ΧΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΘΔΣΙΚΗ ΚΑΙ ΣΔΦΝΟΛΟΓΙΚΗ ΚΑΣΔΤΘΤΝΗ» ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ

Διδακτική τωμ Μαθηματικώμ (Β Φάση ΔΙ.ΜΔ.Π.Α)

ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΑΘΗΜΑΣΩΝ Γ.Ν. ΑΜΥΙΑ

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΕΣΙΚΩΝ ΠΟΤΔΩΝ

3 η ΕΝΟΤΗΤΑ Ρύθμιση σήματος

ΧΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΘΔΣΙΚΗ ΚΑΙ ΣΔΦΝΟΛΟΓΙΚΗ ΚΑΣΔΤΘΤΝΗ» 1 o ΔΙΑΓΩΝΙΜΑ ΙΑΝΟΤΑΡΙΟ 2015: ΔΝΔΔΙΚΣΙΚΔ ΑΠΑΝΣΗΔΙ

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΕΣΙΚΩΝ ΠΟΤΔΩΝ

ΠΟΤΔΑΣΗΡΙΟ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΑ. Δραγάτςη 8, Πειραιάσ Ιερ. Πατριάρχου 45, Αμπελόκηποι

Φσζική Γ Λσκείοσ. Θεηικής & Τετμολογικής Καηεύθσμζης. Μηταμικά Κύμαηα Αρμομικό Κύμα - Φάζη. Οκτώβρης Διδάζκωμ: Καραδημηηρίοσ Μιτάλης

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΕΣΙΚΩΝ ΠΟΤΔΩΝ

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ

ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ

M z ιραπέυξσμ από ςα Α 4,0,Β 4,0

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ

ΨΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ» ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ ΘΔΜΑ Α ΘΔΜΑ Β.

ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

Σπκπιεξσκαηηθέο ζεκεηώζεηο (ECDL) Δπεμεξγαζίαο Κεηκέλνπ Microsoft Word 2013

ΧΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΘΔΣΙΚΗ ΚΑΙ ΣΔΦΝΟΛΟΓΙΚΗ ΚΑΣΔΤΘΤΝΗ» ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ

ΧΖΥΘΑΙΟ ΔΙΠΑΘΔΔΤΣΘΙΟ ΒΟΖΗΖΛΑ «ΥΤΘΙΖ ΗΔΣΘΙΖ ΙΑΘ ΣΔΦΜΟΚΟΓΘΙΖ ΙΑΣΔΤΗΤΜΖ» ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ ΘΔΜΑ Α ΘΔΜΑ Β (1) n n n 90 ή (2)

ΦΥΣΙΚΗ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΧΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ ΘΔΜΑ Α ΘΔΜΑ Β

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

ΠΡΟ: Υξιςηςέπ, Ακαδημαϊκό και Διξικηςικό Ποξρωπικό ΓΤΜΝΑΣΗΡΙΟ

Κξιμχμικά δίκςσα ρςξ Internet Η μέα ποόκληρη ρςημ επικξιμχμία για ςη μέα γεμιά

Τμήμα Διοίκησης Επιχειρήσεων

(MICROSOFT POWERPOINT 2013)

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

ΝΕΤΡΩΝΙΚΑ ΔΙΚΣΤΑ - ΔΟΜΕ ΔΕΔΟΜΕΝΩΝ

Πλξήγηρη ρςξ διαδίκςσξ

ΨΗΥΙΑΚΟ ΔΚΠΑΙΔΔΤΣΙΚΟ ΒΟΗΘΗΜΑ «ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ» 1 o ΔΙΑΓΩΝΙΜΑ ΔΔΚΔΜΒΡΙΟ 2015: ΔΝΔΔΙΚΣΙΚΔ ΑΠΑΝΣΗΔΙ

ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Φσζική Γ Λσκείοσ. Κύμαηα. Θεηικής & Τετμολογικής Καηεύθσμζης. Διδάζκωμ: Καραδημηηρίοσ Μιτάλης. Πηγή: Study4exams.

Ermis Design. Ιατηγορία: DESIGN / VISUAL COMMUNICATION / ΟΠΞΩΗΖΘΙΑ ΔΘΑΤΖΛΘΡΘΙΑ ΔΜΣΟΑ

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΔΤΝΑΣΟΣΗΣΕ 3 2. ΓΡΗΓΟΡΗ ΕΚΚΙΝΗΗ (QUICK START) - ΙΟΚΡΑΣΗ 4 3. ΑΝΑΛΤΣΙΚΗ ΕΠΕΞΗΓΗΗ 5

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ 6 ο ΔΙΑΓΩΝΙΜΑ (Δφ' όλης της ύλης) - ΘΔΜΑΣΑ

Εμημεοχςική Επιρςξλή Νξ 65/2016

6 ξ Παμαορακειακό Μαθηςικό Σσμέδοιξ Σε έμαμ κόρμξ πξσ αλλάζει: Τξ δικαίχμα ρςημ εκπαίδεσρη και η εκπαίδεσρη ρςα αμθοώπιμα δικαιώμαςα

Ermis Digital. Καςηγξοία: Websites - Self-Promotion Sites. Τίςλξπ Σσμμεςξυήπ: Lovable Instant Personal Snapcards

Σςη βιβλιξθήκη ρσμάμςηρα ςξμ Βιβλιξπόμςικα πξσ έφαυμε για δξσλειά. Μάοιξπ Σςασοίδηπ Β1 Έφαυμα έμα οξζ βιβλίξ με υοσρόρκξμη.

1o ΚΕΦΑΛΑΙΟ ΜΗΧΑΝΙΚΔΣ ΤΑΛΑΝΤΩΣΔΙΣ

Διαχείριση Πολιτισμικών Δεδομένων

Τ ξ ε ύ ο ξ π ς ξ σ ξ ο ί ξ σ

«Να μημ χαθεί μια ακόμη γεμιά...» Ρομά και δικαίωμα στημ εκπαίδευση: όταμ το σχολείο είμαι η μόμη ελπίδα

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Δκπαιδεσςικό Τλικό για ςημ. «Βάρη ρυξλικώμ μξμάδχμ ΠΔ»

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

ΓΔΝΙΚΟ ΔΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ

Σχεδιασμός Βάσεων Δεδομένων

ΨΗΦΙΑΚΑ ΕΚΠΑΙΔΕΥΤΙΚΑ ΒΟΗΘΗΜΑΤΑ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ ΕΝΟΣΗΣΑ 1: ΕΙΑΓΩΓΗ ΤΓΡΑ Ε ΙΟΡΡΟΠΙΑ ΗΜΕΙΩΕΙ ΘΕΩΡΙΑ

ΣΕΛΙΚΗ ΕΠΑΝΑΛΗΨΗ ΜΗΧΑΝΙΚΗ ΑΠΡΙΛΙΟ Σςξ ρυήμα (α) ταίμεςαι έμα ελεύθεοξ ρςεοεό, ςξ ξπξίξ ρςοέτεςαι σπό ςημ επίδοαρη ςξσ ζεύγξσπ

ΑΔΑ: 4ΑΘΩ7ΛΡ-Ψ ΠΕΡΙΛΗΦΗ ΔΙΑΚΗΡΤΞΗ ΑΝΑΡΣΗΣΔΑ ΣΟ ΓΙΑΓΙΚΣΤΟ

Τ ξ ε ύ ο ξ π ς ξ σ ξ ο ί ξ σ _ Ι ε ο α μ ε ι κ ό π

ΜΕΘΟΔΟΛΟΓΙΑ ΑΣΚΗΣΕΩΝ 1ου ΚΕΦΑΛΑΙΟΥ. 1o ΚΔΦΑΛΑΙΟ ΜΗΧΑΝΙΚΔΣ ΤΑΛΑΝΤΩΣΔΙΣ

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΜΟΥΣΙΚΗ ΣΕ ΠΡΩΤΗ ΒΑΘΜΙΔΑ. Παρουσιάσεις εκπαιδευτικού υλικού και διδακτικής μεθοδολογίας 1-2

Η λειςξσογία ςξσ Βσζαμςιμξύ Νεοόμσλξσ

ΠΨ ΝΑ ΔΗΜΙΟΤΡΓΗΕΣΕ ΣΟ ΣΕΛΕΙΟ ΓΕΤΜΑ

Ημεοίδα: Η Αγοξδαρξπξμία ρςα πλαίρια ςηπ μέαπ ΚΑΠ , Καβάλα, 5 Ιξσμίξσ Δο. Άμμα Σιδηοξπξύλξσ

ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

Βάσεις Δεδομένων (Databases)

Αρ. Υακ.: Α.Ι.Σ. 1 /2013 Α.Κ.Ι. 1/2011

Services SMART. Messaging. Bulk SMS. SMS messaging services THE + Services. IP Digital

ΔΙΔΑΚΩΝ: ΠΑΡΙ ΜΑΣΟΡΟΚΩΣΑ

Τεχνολογίεσ προγραμματιςμοφ πελάτθ (client side) Ειςαγωγι ςτθν Javascript

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΥΤΙΚΗ ΟΜΑΔΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ ΘΔΣΙΚΩΝ ΠΟΤΔΩΝ

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Phishing s. Τι είναι και Τρόποι αντιμετώπιςησ τουσ. Ευςταθίου Κωνςταντίνοσ. Λαμπιδονίτη Χριςτίνα. Απρίλιοσ, Λευκωςία

άρθρο ΜΟΥΣΙΚΗ ΣΕ ΠΡΩΤΗ ΒΑΘΜΙΔΑ 1-2 Η συμβολή του εκπαιδευτικού υλικού στην εκπαιδευτική έρευνα και πράξη 7 ο & 8 ο ΤΕΥΧΟΣ ISSN Χ

ΓΔΝΙΚΟ ΔΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Ι

Ermis Digital. Καςηγξοία: Web Campaigns Commercial Public Services. Τίςλξπ Σσμμεςξυήπ: Μέρα και ένω από ςξ ρπίςι

Βάρειπ Δεδξμέμωμ. Επγαστήπιο ΙΙ. Τμήμα Πλεπουοπικήρ ΑΠΘ

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Δμιαία ξογάμχρη σπξυοεχςικήπ μαθημαςικήπ εκπαίδεσρηπ

ΕΠΛ 342 Βάσεις εδοµένων

BSR Διεσθσμριξδξςξύμεμξπ Πίμακαπ Πσοαμίυμεσρηπ. Δγυειοίδιξ υοήρηπ - εγκαςάρςαρηπ

Κεφάλαιο 3o. Γεωμετρία Α Λσκείοσ

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΠΡΟ: ΚΟΗΝ: ΘΕΜΑ:"Αμακξίμωρη-Ποόρκληρη για μεςάςανη σπαλλήλωμ ρςξ Γεμικό Νξρξκξμείξ Καοδίςραπ."

Τεχνολογία Πολιτισμικού Λογισμικού

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Δ. Κοντογιώργη, δερματολόγος- αφροδισιολόγος

υξλή : Σευμξλξγικώμ εταομξγώμ Σμήμα : Μηυαμξλόγχμ μηυαμικώμ ς.ε Πςσυιακή εογαρία Σίςλξπ πςσυιακήπ εογαρίαπ :

Ermis Digital. Καςηγξοία: Digital/ Integrated Multiplatform Campaign 2. Τίςλξπ Σσμμεςξυήπ: Samsung Paralympics Campaign #Gnorisetous

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

Κύοιξ Συέδιξ Δοάρηπ ςηπ Αγξοάπ ςωμ Εμπξοεσμαςικώμ Μεςατξοώμ και ςωμ Logistics ςηπ Ελλάδαπ. Σωςήοηπ Σ. Τοιυάπ

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Γιατί ο πολίτης δεμ εμπιστεύεται τη Δημόσια Διοίκηση

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Transcript:

ΤΕΙ Κεντρικής Μακεδονίας Τμήμα ΠΜ ΤΕ & ΜΤΓ ΤΕ Σημειώσεις Εργαστήριου Βάσεων Δεδομένων Πασχάλης Γάκος ΕΔΙΠ

Περιεχόμενα SQL (Structured Query Language ξµηµέμη Γλώρρα Δοχςήρεχμ)... 3 SQL Create Table... 4 ΣΤΠΟΘ ΔΔΔΟΛΔΜΩΜ ΣΖ SQL... 4 Constraints Πεοιξοιρμξί... 5 Primary Key Ποχςεύξμ Ιλειδί... 7 Διραγχγή Δεδξμέμχμ Πιμάκα (INSERT )... 8 Δμημέοχρη Δεδξμέμχμ (UPDATE)... 9 Διαγοατή Δεδξμέμχμ (DELETE)... 9 SQL SELECT... 10 SQL DISTINCT... 11 SQL WHERE... 12 Ποόρθεςξι Σελερςέπ: in, between and, like... 14 ΤΜΑΗΡΟΘΣΘΙΔ ΤΜΑΡΣΖΔΘ AVG, MAX, MIN, SUM, COUNT... 18 Σύπξι ρυέρεχμ πξσ υοηριμξπξιξύμ ςα μξμςέλα ξμςξςήςχμ ρσρυεςίρεχμ.... 21 Alter Table... 22 Truncate Table... 22 SQL ALIASES... 22 SQL GROUP BY : Ομαδξπξίηρη εγγοάτχμ... 26 SQL HAVING... 27 2

SQL 1 (Structured Query Language ξµηµέμη Γλώρρα Δοωςήρεωμ) Ζ SQL απξςελείςαι από δύξ βαρικά μέοη : Ση γλώρρα SQL Οοιρμξύ Δεδξμέμχμ SQL DDL(Data Definition Language) και Ση γλώρρα SQL Φειοιρμξύ Δεδξμέμχμ SQL DML (Data Manipulation Language) Λε ςημ γλώρρα ξοιρμξύ δεδξμέμχμ ξοίζεςαι ςξ ρυήμα ςχμ δεδξμέμχμ, δηλαδή η μξοτή ςξσπ, εμώ με ςη γλώρρα υειοιρμξύ δεδξμέμχμ ξοίζξμςαι ξι λειςξσογίεπ απξθήκεσρηπ και αμάκςηρηπ δεδξμέμχμ. Δπξμέμχπ η γλώρρα SQL πεοιέυει εμςξλέπ για ςη δημιξσογία και ςημ επενεογαρία ςηπ μξοτήπ ςχμ πιμάκχμ(ξοιρμόπ δεδξμέμχμ), αλλά και εμςξλέπ για ςημ ειραγχγή, εμημέοχρη, διαγοατή και αμάκςηρη ςχμ δεδξμέμχμ πξσ είμαι απξθηκεσμέμα ρε πίμακεπ(υειοιρμόπ δεδξμέμχμ). Δίμξμςαι ξι παοακάςχ πιμάκεπ ςηπ Βάρηπ δεδξμέμχμ 2 egram 1 Η SQL είναι το πρότυπο γλώςςασ μζςω τθσ οποίασ χειριηόμαςτε ζνα Σφςτθμα Διαχείριςθσ Βάςεων Δεδομζνων. 2 Μια μεγάλθ ςυλλογι δεδομζνων, μοντελοποιεί μια επιχείρθςθ του πραγματικοφ κόςμου. 3

SQL Create Table Ζ CREATE TABLE υοηριμξπξιείςαι για ςη δημιξσογία πιμάκχμ ρςη βάρη δεδξμέμχμ. CREATE TABLE Υξιςηςεπ ( ΙχδΥξιςηςη integer, Ομξμα varchar(15), Δπχμσμξ varchar (30), Διεσθσμρη varchar (40), Πξλη varchar (30), Σηλετχμξ varchar (15), Δναμημξ char (2), CONSTRAINT PK_F PRIMARY KEY(ΙχδΥξιςηςη)) ΣΤΠΟΙ ΔΔΔΟΜΔΝΩΝ ΣΗ SQL Σα δεδξμέμα κάθε ρςήληπ εμόπ πίμακα ποέπει μα έυξσμ έμα ρσγκεκοιμέμξ ςύπξ. Οι βαρικξί ςύπξι πξσ σπξρςηοίζξμςαι από ςημ SQL είμαι ξι παοακάςχ: ΣΤΠΟ ΠΔΡΙΓΡΑΥΗ ΜΔΓΔΘΟ ΒΙΣ Μαι ή Όυι 1 byte VARCHAR(n) ή TEXT CHAR(n) INTEGER ή LONG SMALLINT ή SHORT Αλταοιθμηςικό μεςαβληςξύ μήκξσπ (από 0 έχπ n), με μέγιρςξ μήκξπ n ξοιζόμεμξ από ςξμ υοήρςη. Σξ n μπξοεί μα ξοιρςεί από 0 έχπ 255 υαοακςήοεπ Αλταοιθμηςικό ρςαθεοξύ μήκξσπ n πξσ ξοίζεςαι από ςξμ υοήρςη. Σξ n μπξοεί μα ξοιρςεί έχπ 255 υαοακςήοεπ Ακέοαιξπ με εύοξπ ςιμώμ από -2.147.483.648 έχπ 2.147.483.647 Λικοόπ ακέοαιξπ, με εύοξπ ςιμώμ από -32,768 έχπ 32,767. 2 byte αμά υαοακςήοα 2 byte αμά υαοακςήοα 4 byte 2 byte TINYINT Πξλύ μικοόπ ακέοαιξπ (0 έχπ 255) 1 byte REAL ή SINGLE Ποαγμαςικόπ αοιθμόπ κιμηςήπ σπξδιαρςξλήπ, απλήπ ακοίβειαπ 4 byte FLOAT Ποαγμαςικόπ αοιθμόπ κιμηςήπ σπξδιαρςξλήπ, διπλήπ ακοίβειαπ 8 byte CURRENCY Σιμή πξσ παοιρςάμει με ακοίβεια αοιθμξύπ από -922.337.203.685.477,5808 έχπ 922.337.203.685.477,5807 8 byte DATE Ζμεοξμημία ςηπ μξοτήπ Π.υ. date 2002-10-22 8 byte 4

TIME Ώοα ςηπ ημέοαπ ρε ώοεπ, λεπςά, δεσςεοόλεπςα. Π.υ. time 09:05:32 8 byte TIMESTAMP Ζ ημέοα ρσμ ςημ ώοα. Π.υ. timestamp 2002-10-22 09:05:32.75 8 byte LONGTEXT Ιείμεμξ μέυοι 1.2GB Constraints Πεοιξοιρμξί Λπξοξύμε μα ειράγξσμε πεοιξοιρμξύπ όςαμ καθξοίζξσμε ςξ ςύπξ δεδξμέμχμ εμόπ πεδίξσ. Ασςξί ξι πεοιξοιρμξί ειράγξμςαι είςε ρςημ εμςξλή CREATE TABLE είςε υοηριμξπξιώμςαπ ςημ εμςξλή ALTER TABLE ατξύ δημιξσογήρξσμε ςξμ πίμακα. Ιξιμξί ςύπξι πεοιξοιρμώμ είμαι ξι κάςχθι: NOT NULL UNIQUE CHECK Primary Key Foreign Key NOT NULL Δν ξοιρμξύ έμα πεδίξ μπξοεί μα μημ έυει καμία ςιμή ρε μια εγγοατή ςξσ πίμακα. Αμ θέλξσμε μα επιβάλξσμε ρε έμα πεδίξ μα μη δέυεςαι κεμέπ ςιμέπ (δηλαδή μα μημ δέυεςαι ςη μη ειραγχγή δεδξμέμχμ, σπξυοεχςικά μα έυει κάπξια ςιμή) ςόςε καθξοίζξσμε ςξ ρσγκεκοιμέμξ πεδίξ χπ not null. CREATE TABLE Υξιςηςεπ ( ΙχδΥξιςηςη integer NOT NULL, Ομξμα varchar(15), Δπχμσμξ varchar (30) NOT NULL; Σα πεδία ΙχδΥξιςηςη και Δπχμσμξ δεμ μπξοξύμ μα είμαι NULL. Δμώ ςξ Ομξμα μπξοεί μα μημ πάοει ςιμή ρε μια εγγοατή. 5

UNIQUE Ο πεοιξοιρμόπ UNIQUE διαρταλίζει όςι όλεπ ξι ςιμέπ ρε έμα πεδίξ είμαι διακοιςέπ δηλαδή μξμαδικέπ. Παοάδειγμα: CREATE TABLE Υξιςηςεπ ( ΙχδΥξιςηςη integer Unique, Ομξμα varchar(15), Δπχμσμξ varchar (30) ; Σξ πεδίξ " ΙχδΥξιςηςη" δε δέυεςαι διπλόςσπεπ ςιμέπ. Ασςό ρημαίμει όςι κάθε εγγοατή ςξσ πίμακα Υξιςηςεπ ποέπει μα έυει διατξοεςική ςιμή ρςξ πεδίξ ΙχδΥξιςηςη ρε ρυέρη με όλεπ ςιπ σπόλξιπεπ ςιμέπ ςχμ άλλχμ εγγοατώμ ρςξ ρσγκεκοιμέμξ πεδίξ. Σξ ίδιξ υαοακςηοιρςικό ιρυύει και ρςξ πεδίξ πξσ υαοακςηοίζεςαι χπ ποχςεύξμ κλειδί. Ποέπει όμχπ μα ςξμιρθεί όςι έμα πεδίξ Unique μπξοεί μα είμαι, μπξοεί και μα μημ είμαι όμχπ πεδio κλειδί. CHECK Ο πεοιξοιρμόπ CHECK διαρταλίζει όςι όλεπ ξι ςιμέπ πξσ θα ειραυθξύμ ρε έμα πεδίξ ικαμξπξιξύμ ρσγκεκοιμέμα κοιςήοια. Για παοάδειγμα: CREATE TABLE Υξιςηςεπ ( ΙχδΥξιςηςη integer CHECK (ΙχδΥξιςηςη > 0), Ομξμα varchar(15), Δπχμσμξ varchar (30), Σξ πεδίξ ΙχδΥξιςηςη ποέπει μα πάοει ακέοαιεπ ςιμέπ και μάλιρςα θεςικέπ (>0). 6

Primary Key Ποωςεύξμ Κλειδί Έμα ποχςεύξμ κλειδί υοηριμξπξιείςαι για ςημ ςασςξπξίηρη κάθε εγγοατήπ ρε έμα πίμακα. Λπξοεί μα είμαι κάπξιξ σπάουξμ υαοακςηοιρςικό πεδίξ ςξσ πίμακα, ή μπξοεί μα είμαι έμα ςευμηςό υαοακςηοιρςικό πεδίξ (πξσ ξσριαρςικά δεμ έυει καμία ρυέρη με ςξμ πίμακα) και απλά ςξ δημιξσογξύμε εμείπ για μα καθξοίρξσμε κάθε εγγοατή με έμα και μόμξ πεδίξ. Σξ ποχςεύξμ κλειδί μπξοεί μα είμαι έμα ή πεοιρρόςεοα πεδία ρε έμα πίμακα. Όςαμ υοηριμξπξιξύμςαι πξλλά ςόςε έυξσμε ρύμθεςξ κλειδί. Σξ ποχςεύξμ κλειδί καθξοίζεςαι είςε ρςξ CREATE TABLE εοώςημα ή υοηριμξπξιώμςαπ ςξ ALTER TABLE μεςά ςη δημιξσογία ςξσ πίμακα. ALTER TABLE Υξιςηςεπ ADD PRIMARY KEY (ΙχδΥξιςηςη); Foreign Key Ξέμξ Κλειδί Έμα νέμξ κλειδί είμαι έμα πεδίξ (πεδία) ςα ξπξία ρυεςίζξμςαι με ςξ ποχςεύξμ κλειδί εμόπ άλλξσ πίμακα. Ο ρκξπόπ ςξσ νέμξσ κλειδιξύ είμαι μα διαρταλίρει ςημ ρυεριακή ακεοαιόςηςα ςχμ δεδξμέμχμ. Επγαζόμενοι Κωδικός Επώνσμο Όνομα Τμήμα Μιζθός 13 Γεωργίοσ Δήμητρα 1 1000 15 Ιωάννοσ Ελισάβετ 2 1200 17 Ψστάρης Γιώργος 4 2300 18 Μάλλιος Φίλιππος 2 2200 19 3 2000 Τμήματα Τμήμα Περιγραφή Τοποθεζία 1 Μάρκετινγκ Αθήνα 2 Πωλήσεις Αθήνα 3 Προμήθειες Θεσ/νίκη 4 Διοίκηση Θεσ/νίκη Ππωτεύον κλειδί ξένο κλειδί Ππωτεύον κλειδί 7

Διραγωγή Δεδξμέμωμ Πιμάκα (INSERT ) Οι εγγοατέπ ςξσ πίμακα Υξιςηςεπ ΚωδΥξιςηςη Ομξμα Δπωμσμξ Διεσθσμρη Πξλη Σηλετχμξ Δναμημξ 1 Μςίμα Δελξπξύλξσ Εακύμθξσ 8Β Πύογξπ 2321056789 Α 2 Αμδοέαπ Υξλίδηπ Σεμέδξσ 1 Κάοιρα 2105910766 Α 3 Λάοκξπ Κεβίδηπ Ζοώχμ 4 έοοεπ 2310904567 Β 4 Λαογαοίςα Παύλξσ Ιητιρίαπ 411 Αθήμα 2321054321 Β 5 ςασοξύλα Ιαλαςζίδξσ Ιξλχμακίξσ 114 Αθήμα 2410789023 Γ Ζ ρύμςανη ςξσ SQL INSERT INTO έυει δύξ τόομεπ και ςξ απξςέλερμα και ςχμ δύξ είμαι η ειραγχγή μιαπ μέαπ εγγοατήπ ρςξμ πίμακα δεδξμέμχμ. Ο ποώςξπ ςοόπξπ ρύμςανηπ ςξσ INSERT INTO SQL εοχςήμαςξπ δεμ καθξοίζει ςα ξμόμαςα ςχμ πεδίχμ αλλά μόμξ ςιπ ςιμέπ ςξσπ: INSERT INTO Υξιςηςεπ VALUES ( 1, Μςίμα, Δελξπξύλξσ, Εακύμθξσ 8Β, Πύογξπ, 2321056789, Α ); Ο δεύςεοξπ ςοόπξπ ρύμςανηπ ςξσ SQL INSERT INTO εοχςήμαςξπ, ςόρξ ςα ξμόμαςα ςχμ πεδίχμ αλλά και ςιπ αμςίρςξιυεπ ςιμέπ ςχμ πεδίχμ: INSERT INTO Υξιςηςεπ (ΙχδΥξιςηςη,Ομξμα,ΔπχμσμξΔιεσθσμρη,Πξλη,Σηλετχμξ,Δναμημξ) VALUES ( 1, Μςίμα, Δελξπξύλξσ, Εακύμθξσ 8Β, Πύογξπ, 2321056789, Α ); Ηα ποέπει ξ αοιθμόπ ςχμ πεδίχμ πξσ ειράγεςε ρςημ παοέμθερη μα είμαι ακοιβώπ ξ ίδιξπ με ςχμ αοιθμό ςχμ ςιμώμ πξσ θα ειραυθξύμ ρςα αμςίρςξιυα πεδία αλλιώπ θα ποξκληθεί ρτάλμα ρςημ εκςέλερη ςξσ εοχςήμαςξπ. 8

Δμημέοωρη Δεδξμέμωμ (UPDATE) Ζ SQL UPDATE αλλάζει ςα δεδξμέμα ρε μια σπάουξσρα εγγοατή (ή πξλλέπ εγγοατέπ) ρε μια βάρη δεδξμέμχμ και ρσμήθχπ ςη υοηριμξπξιξύμε μαζί με κάπξια κοιςήοια (ποξρθέςξμςαπ και ςξ αμςίρςξιυξ WHERE). ςξ WHERE καθξοίζξσμε πξιεπ από ςιπ εγγοατέπ ςξσ πίμακα ποέπει μα αλλάνξσμ ςιμή (ασςέπ πξσ ικαμξπξιξύμ ςα κοιςήοια ςξσ WHERE). Αλλαγή Διεύθσμρη ςξσ Υξιςηςή Κεβίδηπ από Ζοώχμ 4 ρε Λαγμηρίαπ 1 UPDATE Υξιςηςεπ SET Διεσθσμρη = Μαγμηρίαπ 1 WHERE ΚωδΥξιςηςη=3 Αμ δεμ καθξοίρξσμε κάπξιξ κοιςήοιξ ρςξ WHERE ςόςε η αλλαγή πξσ επιθσμξύμε θα εταομξρθεί ρε όλεπ ςιπ εγγοατέπ ςξσ πίμακα. Γίμεςαι καςαμξηςό, όςι ποέπει μα είμαρςε πξλύ ποξρεκςικξί ρςη υοήρη ςξσ εοχςήμαςξπ. Διαγοατή Δεδξμέμωμ (DELETE) Ιαςά ςημ διαγοατή γοαμμώμ μπξοξύμε μα ρβήρξσμε μόμξ ξλόκληοεπ εγγοατέπ και όυι ρσγκεκοιμέμα πεδία. Διαγοατή γοαμμώμ από έμαμ πίμακα γίμεςαι με ςημ εμςξλή DELETE με ςη ρύμςανη: DELETE FROM όμξμα_πίμακα WHERE κοιςήοια βήμει όλεπ ςιπ εγγοατέπ ςξσ πίμακα για ςιπ ξπξίεπ ιρυύει ςξ καςηγόοημα ςηπ ποόςαρηπ where. Ποξρξυή γιαςί όςαμ λείπει η ποόςαρη where ρβήμξμςαι όλεπ ξι εγγοατέπ εμόπ πίμακα. Ιαςά ςημ διαγοατή απαιςείςαι μεγάλη ποξρξυή γιαςί διαγοάτξμςαι ξλόκληοεπ ξι εγγοατέπ και δεμ γίμεςαι εύκξλα επαματξοά DELETE FROM Υξιςηςεπ WHERE ΚωδΥξιςηςη=3 9

SQL SELECT Ζ εμςξλή SQL SELECT υοηριμξπξιείςαι για ςημ επιλξγή δεδξμέμχμ από έμαμ πίμακα ρε μια βάρη δεδξμέμχμ. Λια γεμική μξοτή ρύμςανηπ για ςξ εοώςημα SQL SELECT είμαι η ακόλξσθη: SELECT πεδίξ 1, πεδίξ 2, πεδίξ 3, FROM Table1 Ζ λίρςα με ςα ξμόμαςα ςχμ πεδίχμ μεςά ςημ εμςξλή SQL SELECT καθξοίζει πξια πεδία θα επιρςοατξύμ ποξπ εμτάμιρη χπ απξςέλερμα ςηπ εκςέλερηπ ςξσ εοχςήμαςξπ.. Δάμ θέλξσμε μα επιλένξσμε όλα ςα πεδία ςξσ πίμακα υοηριμξπξιξύμε ςξ * (αρςεοάκι): SELECT * FROM Table1 Σξ όμξμα ςξσ πίμακα καθξοίζεςαι μεςά ςη λένη FROM (ρςξ παοάδειγμα Table1) καθξοίζει ςξμ πίμακα ποξέλεσρηπ ςχμ δεδξμέμχμ. SELECT * Υξιςηςεπ.*) (To * ρημαίμει επιλξγή όλχμ ςχμ πεδίχμ. Δμαλλακςικά γοατξύμε FROM Υξιςηςεπ Δμταμίζει όλα ςα πεδία ςξσ πιμάκα Υξιςηςέπ *Αμ σπάουει όμξμα πεδίξσ κξιμό ρςξσπ δσξ πιμάκεπ ποέπει μα δηλχθεί χπ ΟμξμαΠιμακα.Ομξμαπεδιξσ 10

SQL DISTINCT Ζ εμςξλή SQL DISTINCT υοηριμξπξιείςαι μαζί ςημ εμςξλή SELECT για μα επιρςοέφει έμα ρύμξλξ δεδξμέμχμ με μξμαδικέπ εγγοατέπ εμόπ πεδίξσ ςξσ πίμακα. Ηα υοηριμξπξιήρξσμε ςξμ κάςχθι πίμακα Υξιςηςεπ ΚωδΥξιςηςη Ομξμα Δπωμσμξ Διεσθσμρη Πξλη Σηλετχμξ Δναμημξ 1 Μςίμα Δελξπξύλξσ Εακύμθξσ 8Β Πύογξπ 2321056789 Α 2 Αμδοέαπ Υξλίδηπ Σεμέδξσ 1 Κάοιρα 2105910766 Α 3 Λάοκξπ Κεβίδηπ Ζοώχμ 4 έοοεπ 2310904567 Β 4 Λαογαοίςα Παύλξσ Ιητιρίαπ 411 Αθήμα 2321054321 Β 5 ςασοξύλα Ιαλαςζίδξσ Ιξλχμακίξσ 114 Αθήμα 2410789023 Γ SELECT DISTINCT Πξλη FROM Υξιςηςεπ Σξ απξςέλερμα ςηπ εκςέλερηπ ςξσ εοχςήμαςξπ SQL DISTINCT θα είμαι ςξ ακόλξσθξ: Πξλη Πύογξπ Κάοιρα έοοεπ Αθήμα Παοαςηοξύμε όςι η Πξλη Αθήμα εμταμίζεςαι μόμξ μια τξοά. SELECT DISTINCT Δναμημξ FRΟΜ Υξιςηςεπ Σξ απξςέλερμα ςηπ εκςέλερηπ ςξσ εοχςήμαςξπ SQL DISTINCT θα είμαι ςξ ακόλξσθξ: Δναμημξ Α Β Γ 11

SQL WHERE Ζ εμςξλή SQL WHERE υοηριμξπξιείςαι για ςημ εταομξγή κοιςηοίχμ ρε έμα εοώςημα SQL SELECT. Ηα υοηριμξπξιήρξσμε ςξμ πίμακα Υξιςηςεπ για έμα παοάδειγμα. ΚωδΥξιςηςη Ομξμα Δπωμσμξ Διεσθσμρη Πξλη Σηλετχμξ Δναμημξ 1 Μςίμα Δελξπξύλξσ Εακύμθξσ 8Β Πύογξπ 2321056789 Α 2 Αμδοέαπ Υξλίδηπ Σεμέδξσ 1 Κάοιρα 2105910766 Α 3 Λάοκξπ Κεβίδηπ Ζοώχμ 4 έοοεπ 2310904567 Β 4 Λαογαοίςα Παύλξσ Ιητιρίαπ 411 Αθήμα 2321054321 Β 5 ςασοξύλα Ιαλαςζίδξσ Ιξλχμακίξσ 114 Αθήμα 2410789023 Γ Ηέλξσμε μα επιλένξσμε μα εμταμιρθξύμ όλξι ξι Υξιςηςεπ μαπ από ςξμ πίμακα δεδξμέμχμ πξσ ςξ Δναμημξ ςξσπ είμαι 'Α'. Σξ εοώςημα πξσ θα δημιξσογήρξσμε είμαι ςξ κάςχθι: SELECT * FROM Υξιςηςεπ WHERE Δναμημξ = Α Σξ απξςέλερμα ςξσ εοχςήμαςξπ είμαι ςξ ενήπ: ΚωδΥξιςηςη Ομξμα Δπωμσμξ Διεσθσμρη Πξλη Σηλετχμξ Δναμημξ 1 Μςίμα Δελξπξύλξσ Εακύμθξσ 8Β Πύογξπ 2321056789 Α 2 Αμδοέαπ Υξλίδηπ Σεμέδξσ 1 Κάοιρα 2105910766 Α ε ασςό ςξ απλό εοώςημα υοηριμξπξιήραμε ςξ "=" (Ίρξμ) ρςα κοιςήοια ςξσ WHERE: Δναμημξ = Α 12

Λπξοξύμε όμχπ μα υοηριμξπξιήρξσμε και ςξσπ σπόλξιπξσπ ςελερςέπ ρύγκοιρηπ ρε έμα εοώςημα πξσ έυει SQL WHERE: Σελερςήπ ημαρία = (ίρξ με), < (μικοόςεοξ από), <= (μικοόςεοξ ή ίρξ από) <> (διάτξοξ από), > (μεγαλύςεοξ από) >= (μεγαλύςεοξ ή ίρξ από) σγκοίμεςε πάμςα αοιθμξύπ με αοιθμξύπ, ρσμβξλξρειοέπ με ρσμβξλξρειοέπ και ημεοξμημίεπ με ημεοξμημίεπ. Λξγικξί Σελερςέπ AND, OR ρσμδσαρμξύ πξλλώμ ρσμθηκώμ ε πξλλέπ πεοιπςώρειπ αμάκςηρηπ γοαμμώμ από έμαμ πίμακα είμαι επιθσμηςή η εμαλλακςική ή αμαγκαρςική εκπλήοχρη πεοιρρξςέοχμ ςηπ μιαπ ρσμθηκώμ. Οι λξγικξί ςελερςέπ πξσ ρσμδσάζξσμ πξλλέπ ρσμθήκεπ είμαι ξι γμχρςξί AND (ρύζεσνη), OR (διάζεσνη) και NOT (άομηρη). Παοάδειγμα υοήρηπ ςξσ ςελερςή AND SELECT * FROM Υξιςηςεπ WHERE Δναμημξ = Α AND Πξλη = Κάοιρα Ο ςελερςήπ OR σπαγξοεύει όςι ποέπει μα πληοείςαι μία ςξσλάυιρςξμ από ςιπ λξγικέπ ρσμθήκεπ πξσ ρσμδέει για μα αμακςηθεί μία γοαμμή εμόπ πίμακα. Έςρι, διεσούμει ακόμη πεοιρρόςεοξ ςξ εοώςημα πξσ διαςσπώμεςαι και ρσμήθχπ έυει χπ απξςέλερμα ςημ επιρςοξτή από ςημ SQL εμόπ μεγαλύςεοξσ ρσμόλξσ γοαμμώμ. 13

Παοάδειγμα υοήρηπ ςξσ ςελερςή OR SELECT * FROM Υξιςηςεπ WHERE Δναμημξ = Α OR Πξλη = Κάοιρα Ποόρθεςξι Σελερςέπ: in, between and, like Ο πεοιεκςικόπ ςελερςήπ IN ελέγυει ςη ρσμμεςξυή μιαπ ςιμήπ ρε έμα ρύμξλξ ςιμώμ. Αμ μία ρςήλη ςηπ ποόςαρηπ WHERE μπξοεί μα παίομει πξλλέπ διακοιςέπ ςιμέπ και είμαι επιθσμηςό μα ρσμπεοιλητθεί ρςη ρσμθήκη έμα μεγάλξ σπξρύμξλξ ςχμ ςιμώμ ασςώμ, ςόςε ςξ όμξμα ςηπ ρςήληπ ποέπει μα επαμαλητθεί πξλλέπ τξοέπ. Ζ SQL παοέυει ςη δσμαςόςηςα ρσμςόμεσρηπ ςηπ ρσμθήκηπ με ςη υοήρη ςξσ πεοιεκςικξύ ςελερςή IN. Η γεμική ρύμςανη SQL IN είμαι: SELECT Column1, Column2, Column3, FROM Table1 WHERE Column1 IN (Value1, Value2, ) Δύξ ιρξδύμαμεπ εκτοάρειπ μιαπ εμςξλήπ SQL με ή υχοίπ υοήρη ςξσ ςελερςή IN ταίμξμςαι παοακάςχ SELECT * FROM Υξιςηςεπ WHERE Δναμημξ = Α OR Δναμημξ = Γ SELECT * FROM Υξιςηςεπ WHERE Δναμημξ IN ('Α', 'Γ' ) Δτόρξμ ςα κοιςήοια επιλξγήπ εταομόζξμςαι ρε πεδίξ με ςύπξ δεδξμέμχμ κείμεμξ, μπαίμξσμ ρε ειραγχγικά WHERE Δναμημξ IN ('Α', 'Γ' ) 14

Ο ρσγκοιςικόπ ςελερςήπ BETWEEN AND υοηριμξπξιείςαι όπξσ ξι ζηςξύμεμεπ γοαμμέπ ςξσ πίμακα πεοιέυξσμ ςιμέπ μιαπ ρςήληπ πξσ βοίρκξμςαι εμςόπ μιαπ ρσγκεκοιμέμηπ πεοιξυήπ (πεδίξ ςιμώμ). Ζ πεοιξυή ασςή μπξοεί μα είμαι πεοιξυή ημεοξμημιώμ, αοιθμώμ ή υαοακςήοχμ. Σξ SQL BETWEEN ρσμςάρρεςαι ωπ ενήπ: SELECT Column1, Column2, Column3, FROM Table1 WHERE Column1 BETWEEN Value1 AND Value2 Δύξ ιρξδύμαμεπ εκτοάρειπ μιαπ εμςξλήπ SQL με ή υχοίπ υοήρη ςξσ ςελερςξύ παοακάςχ BETWEEN ταίμξμςαι SELECT * FROM Υξιςηςεπ WHERE ΚωδΥξιςηςη BETWEEN 3 AND 5; SELECT * FROM Υξιςηςεπ WHERE ΚωδΥξιςηςη >= 3 AND ΣΘΛΖ <= 5 ; Αμ θέλξσμε μα μαπ εμταμίρει όλξσπ ςξσπ τξιςηςέπ πξσ ξ κχδτξιςηςηπ δεμ είμαι αμάμερα ρςξ 3 και 5 ςόςε υοηριμξπξιξύμαι ςξμ ςελερςή not. SELECT * FROM Υξιςηςεπ WHERE ΚωδΥξιςηςη not BETWEEN 3 AND 5; 15

SQL LIKE Ηα υοηριμξπξιήρξσμε ςξμ πίμακα Υξιςηςεπ για μα δξύμε ςημ εταομξγή ςξσ SQL LIKE: ΚωδΥξιςηςη Ομξμα Δπωμσμξ Διεσθσμρη Πξλη Σηλετχμξ Δναμημξ 1 Μςίμα Δελξπξύλξσ Εακύμθξσ 8Β Πύογξπ 2321056789 Α 2 Αμδοέαπ Υξλίδηπ Σεμέδξσ 1 Κάοιρα 2105910766 Α 3 Λάοκξπ Κεβίδηπ Ζοώχμ 4 έοοεπ 2310904567 Β 4 Λαογαοίςα Παύλξσ Ιητιρίαπ 411 Αθήμα 2321054321 Β 5 ςασοξύλα Ιαλαςζίδξσ Ιξλχμακίξσ 114 Αθήμα 2410789023 Γ Ζ εμςξλή SQL LIKE είμαι πξλύ υοήριμη όςαμ θέλξσμε μα καθξοίρξσμε κοιςήοιξ αμαζήςηρηπ ρε έμα SQL WHERE, βαριζόμεμξι ρε έμα μέοξπ ςξσ πεοιευξμέμξσ ςξσ πεδίξσ. Για παοάδειγμα απ σπξθέρξσμε όςι θέλξσμε μα αμαζηςήρξσμε όλξσπ ςξσπ Υξιςηςεπ πξσ ςξ Ομξμα νεκιμάει από 'Mαο'. Ηα ποέπει μα δημιξσογήρξσμε ςξ ακόλξσθξ εοώςημα SQL. SELECT * FROM Υξιςηςεπ WHERE Ομξμα LIKE 'Λαο%' Σξ απξςέλερμα: ΚωδΥξιςηςη Ομξμα Δπωμσμξ Διεσθσμρη Πξλη Σηλετχμξ Δναμημξ 3 Λάοκξπ Κεβίδηπ Ζοώχμ 4 έοοεπ 2310904567 Β 4 Λαογαοίςα Παύλξσ Ιητιρίαπ 411 Αθήμα 2321054321 Β Ζ ρσμβξλξρειοά μπξοεί μα πεοιέυει ςξ ρύμβξλξ % (ή ςξ * ) χπ σπξκαςάρςαςξ πξλλώμ αγμώρςχμ υαοακςήοχμ και ςξ ρύμβξλξ _(κάςχ παύλα) (ή ςξ?) χπ σπξκαςάρςαςξ ακοιβώπ εμόπ αγμώρςξσ υαοακςήοα. Μα δημιξσογηθεί εοώςημα πξσ μα εμταμίζει όλα ςα ρςξιυεία ςχμ τξιςηςώμ. (Ο αρςεοίρκξπ * εμταμίζει ρςξ απξςέλερμα όλα ςα πεδία) select * from Υξιςηςεπ 16

Μα δημιξσογηθεί εοώςημα πξσ μα εμταμίζει όλα ςα ρςξιυεία ςξσ τξιςηςή με ΙχδΥξιςηςη 3. select * from Υξιςηςεπ where ΙχδΥξιςηςη = 3 SELECT πξνβνιή πεδίωλ FROM πίλαθεο WHERE Λνγηθέο Σπλζήθεο Δμταμίρςε όλα ςα ρςξιυεία (ςα πεδία) ςχμ Υξιςηςώμ με ΙχδΥξιςηςη μεγαλύςεοξ ςξσ 3. select * from Υξιςηςεπ where ΙχδΥξιςηςη > 3 Δμταμίρςε όλα ςα ρςξιυεία ςχμ Υξιςηςώμ με ΙχδΥξιςηςη διάτξοξ ςξσ 3. select * from Υξιςηςεπ where ΙχδΥξιςηςη <> 3 Εκθαλίδνληαη ζην απνηέιεζκα νη εγγξαθέο πνπ ηθαλνπνηνύλ ηηο ινγηθέο ζπλζήθεο Δμταμίρςε όλα ςα ρςξιυεία ςχμ Υξιςηςώμ με ΙχδΥξιςηςη μικοόςεοξ ή ίρξ ςξσ 3 ςανιμξμημέμα καςά Δπχμσμξ με αύνξσρα ρειοά select * from Υξιςηςεπ where ΙχδΥξιςηςη <= 3 Εκθάληζε όιωλ ηωλ Πεδίωλ Από ηνλ Πίλαθα Φνηηεηέο Όπνπ Λνγηθή ζπλζήθε Ταμηλόκεζε θαηά επώλπκν order by Δπχμσμξ ΖΛΔΘΩΖ: ρςημ ποόςαρη order by γοάτξμςαι ςα ξμόμαςα πεδίχμ ρύμτχμα με ςα ξπξία θα γίμει η ςανιμόμηρη ςξσ απξςελέρμαςξπ η ποξεπιλξγή είμαι αύνξσρα ρειοά Desc Υθίμξσρα Σανιμόμηρη 17

ΤΝΑΘΡΟΙΣΙΚΔ ΤΝΑΡΣΗΔΙ AVG, MAX, MIN, SUM, COUNT Δκςόπ από αοιθμηςικξύπ ςελερςέπ ξι εμςξλέπ υειοιρμξύ δεδξμέμχμ ςηπ SQL μπξοξύμ μα πεοιέυξσμ και ξοιρμέμεπ σμαθοξιρςικέπ ρσμαοςήρειπ (aggregate functions). Οι σμαθοξιρςικέπ ρσμαοςήρειπ πξσ σπξρςηοίζει η SQL είμαι: SQL COUNT Ζ εμςξλή SQL COUNT είμαι μια αθοξιρςική ρσμάοςηρη και υοηριμξπξιείςε για ςημ καςαμέςοηρη ςξσ αοιθμξύ ςχμ εγγοατώμ πξσ επιρςοέτξμςαι από έμα εοώςημα επιλξγήπ. Ζ ρύμςανη ςηπ SQL COUNT: SELECT COUNT(Column1) FROM Table1 Αμ θέλξσμε μα μεςοήρξσμε ςξμ αοιθμό ςχμ Υξιςηςώμ ρςξμ πιμάκα Υξιςηςεπ θα υοηριμξπξιήραμε ςξ κάςχθι εοώςημα: SELECT COUNT ( * ) FROM Υξιςηςεπ; SQL MAX Ζ ρσμάοςηρη SQL MAX μαπ επιςοέπει ςημ επιλξγή ςηπ μέγιρςηπ ςιμήπ από έμα πεδίξ. Ζ ρύμςανή ςηπ είμαι πξλύ απλή και είμαι η ενήπ: SELECT MAX(Column1) FROM Table1 SQL MIN Ζ SQL MIN ρσμάοςηρη μαπ επιςοέπει ςημ επιλξγή ςηπ ελάυιρςηπ ςιμήπ εμόπ πεδίξσ. Ζ ρύμςανη ςηπ είμαι απλή: SELECT MIN(Column1) FROM Table1 18

SQL AVG Ζ SQL AVG ρσμάοςηρη μαπ επιςοέπει ςημ εναγχγή ςξσ μέρξσ όοξσ ςχμ ςιμώμ εμόπ πεδίξσ. Ζ ρύμςανή ςηπ είμαι: SELECT AVG(Column1) FROM Table1 SQL SUM Ζ SQL SUM ρσμάοςηρη μαπ επιςοέπει μα σπξλξγίζξσμε ςξ άθοξιρμα ςχμ ςιμώμ εμόπ αοιθμηςικξύ πεδίξσ. Ζ ρύμςανή ςηπ είμαι: SELECT SUM(Column1) FROM Table1 19

Δημιξσογία ςξσ πίμακα μαθήμαςα CREATE TABLE Λαθημαςα ( ΙχδΛαθημαςξπ integer, Λαθημα varchar(50), ΔιδακςικεπΛξμαδεπ integer, CONSTRAINT PK_m PRIMARY KEY(ΙχδΛαθημαςξπ )) Δημιξσογία ςξσ πίμακα Βαθμξλξγιεπ CREATE TABLE Βαθμξλξγιεπ ( ΙχδΛαθημαςξπ integer, ΙχδΥξιςηςη integer, Βαθμξπ integer, CONSTRAINT PK_ΛΑΣΖ PRIMARY KEY(ΙχδΛαθημαςξπ, ΙχδΥξιςηςη )) Δημιξσογία σρυεςίρεωμ Ηα δημιξσογήρξσμε με SQL ςιπ ρσρυεςίρειπ μεςανύ ςχμ πιμάκχμ καθώπ και ςξσπ πεοιξοιρμξύπ ακεοαιόςηςαπ αματξοώμ υέρη 3 Βαθμξλξγιεπ- Υξιςηςεπ ALTER TABLE Βαθμξλξγιεπ ADD CONSTRAINT FB_Foititesbathologies FOREIGN KEY (ΙχδΥξιςηςη ) REFERENCES Υξιςηςεπ(ΙχδΥξιςηςη ) Πεοιξοιρμόπ ακεοαιόςηςαπ αματξοώμ ρημαίμει όςι ρςξμ πιμάκα Βαθμξλξγίεπ δεμ μπξοεί μα σπάουει ΙχδΥξιςηςη ξ ξπξίξπ δεμ σπάουει και ρςξ ρσρυεςιζόμεμξ πίμακα Υξιςηςεπ. υέρη Βαθμξλξγιεπ μαθημαςα ALTER TABLE Βαθμξλξγιεπ ADD CONSTRAINT BM_batmologiesmathimat FOREIGN KEY(ΙχδΛαθημαςξπ ) REFERENCES μαθημαςα ( ΙχδΛαθημαςξπ) Πεοιξοιρμόπ ακεοαιόςηςαπ αματξοώμ ρημαίμει όςι ρςξμ πιμάκα Βαθμξλξγίεπ δεμ μπξοεί μα σπάουει ΙχδΛαθημαςξπ ξ ξπξίξπ δεμ σπάουει και ρςξ ρσρυεςιζόμεμξ πίμακα μαθημαςα Καςάογηρη ρσρυεςίρεωμ Ηα καςαογήρξσμε με SQL ςη ρσρυέςιρη μεςανύ ςξσ πίμακα (Υξιςηςέπ) και ςξσ πίμακα (Βαθμξλξγίεπ) ALTER TABLE Βαθμξλξγιεπ DROP CONSTRAINT FB_Foititesbathologies 3 Όταν ορίηουμε ςχζςεισ ανάμεςα ςτα πεδία πρζπει πάντα να φροντίηουμε να ζχουν τον ίδιο τφπο δεδομζνων. 20

Σύπξι ρυέρεωμ πξσ υοηριμξπξιξύμ ςα μξμςέλα ξμςξςήςωμ ρσρυεςίρεωμ. Διακοίμξσμε ςοειπ ςύπξσπ ρυέρεχμ μεςανύ ξμςξςήςχμ. Έμα-ποξπ-έμα 1:1 Παοάδειγμα Ζ ρυέρη μεςανύ ςχμ ξμςξςήςχμ «Σμήμα» και «Ποόεδοξπ ςμήμαςξπ» είμαι ρυέρη έμα ποξπ έμα. Ιάθε Σμήμα έυει έμα μόμξ ποόεδοξ και κάπξιξπ πξσ είμαι ποόεδοξπ Σμήμαςξπ είμαι ξ ποόεδοξπ εμόπ μόμξ Σμήμαςξπ. Έμα-ποξπ-πξλλά 1:Μ Παοάδειγμα Ζ ρυέρη μεςανύ ςχμ ξμςξςήςχμ «Σμήμα» και «Υξιςηςήπ» είμαι ρυέρη ςξσ εμόπ ποξπ πξλλά. Ιάθε Σμήμα έυει πξλλξύπ τξιςηςέπ εμώ έμαπ τξιςηςήπ τξιςά έμα μόμξ Σμήμα. Πξλλά-ποξπ-πξλλά Μ:Ν Παοάδειγμα Ζ ρυέρη μεςανύ ςχμ ξμςξςήςχμ «Υξιςηςηπ» και «Λάθημα» είμαι ρυέρη πξλλά ποξπ πξλλά. Ιάθε τξιςηςήπ παοακξλξσθεί πξλλά μαθήμαςα και κάθε μάθημα επιλέγεςαι ποξπ παοακξλξύθηρη από πξλλξύπ τξιςηςέπ. 21

Alter Table Λεςά ςη δημιξσογία εμόπ πίμακα είμαι δσμαςή η αλλαγή ςηπ δξμήπ ςξσ πίμακα υοηριμξπξιώμςαπ ςημ εμςξλή ALTER TABLE. Ιλαρικέπ ςέςξιεπ πεοιπςώρειπ είμαι ξι κάςχθι: Δμςξλή για Διαγοατή Πίμακα Ποξρθήκη πεδίξσ Διαγοατή πεδίξσ Αλλαγή ςύπξσ δεδξμέμχμ πεδίξσ Δμςξλή SQL DROP table <όμξμα πίμακα> ALTER TABLE <όμξμα πίμακα> ADD COLUMN <όμξμα πεδίξσ> ςύπξπ δεδξμέμχμ ALTER TABLE <όμξμα πίμακα> DROP COLOUMN <όμξμα πεδίξσ> ALTER TABLE <όμξμα πίμακα> ALTER COLUMN <όμξμα πεδίξσ> μέξπ ςύπξπ δεδξμέμχμ Truncate Table ςημ πεοίπςχρη πξσ θέλχ μα διαγοάφχ μόμξ ςα πεοιευόμεμα ςξσ πίμακα και μα κοαςήρχ ςη δξμή ςξσ πίμακα υοηριμξπξιώ ςημ εμςξλή TRUNCATE TABLE. TRUNCATE TABLE "table_name" Αμ ήθελα μα διαγοάφχ ςα πεοιευόμεμα ςξσ πίμακα : TRUNCATE TABLE Υξιςηςεπ SQL ALIASES Σα SQL aliases (φεσδώμσμα) υοηριμξπξιξύμςαι για πίμακεπ και για πεδία πιμάκχμ. Σα φεσδώμσμα ςχμ πεδίχμ υοηριμξπξιξύμςαι για μα γίμξμςαι ςα απξςελέρμαςα ςχμ εοχςημάςχμ πιξ καςαμξηςά και εσαμάγμχρςα: select count(*) as Πληθξπ_Υξιςηςώμ from Υξιςηςεπ ; 22

Οι εγγοατέπ ςξσ πίμακα Μαθημαςα ΚωδΜαθημαςξπ Μαθημα ΔιδακςικεπΜξμαδεπ 1 Αγγλικά 2 2 Ζλεκςοξμικά 3 3 υεδιαρμόπ ρυεριακώμ βάρεχμ δεδξμέμχμ 4 4 Λαθημαςικά 3 Οι εγγοατέπ ςξσ πίμακα Βαθμξλξγιεπ ΚωδΜαθημαςξπ ΚωδΥξιςηςη Βαθμξπ 1 1 6 1 2 7 1 3 8 2 1 5 2 4 5 2 5 7 3 1 9 3 2 8 3 4 9 Σξ ημαίμει όςι ρςξ μάθημα Αγγλικά(ΙχδΛαθημαςξπ=1) ξ Κεβίδηπ Λάοκξπ(Ιχδτξιςηςη=3) ανιξλξγήθηκε με βαθμό 8. 23

1. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει ςξ όμξμα και ςξ επώμσμξ όλχμ ςχμ τξιςηςώμ. SELECT Ομξμα,Δπχμσμξ FROM Υξιςηςεπ 2. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει ςξμ κχδικό ςχμ μαθημάςχμ για ςα μαθήμαςα πξσ έυξσμ 3 διδακςικέπ μξμάδεπ. SELECT Ιχδμαθημαςξπ,Λαθημα,ΔιδακςικεπΛξμαδεπ FROM Λαθημαςα WHERE ΔιδακςικεπΛξμαδεπ =3 3. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει όλα ςα δεδξμέμα ςχμ μαθημάςχμ πξσ πεοιέυξσμ ξπξσδήπξςε ρςξμ ςίςλξ ςξσπ ςη λένη Βάρεχμ. SELECT * FROM Λαθημαςα WHERE Λαθημα Like('*Βάρεχμ*') 4. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει ςξμ κχδικό τξιςηςή ςχμ τξιςηςώμ πξσ έυξσμ πάοει ρςξ μάθημα με κχδικό μαθήμαςξπ 1 βαθμό μεγαλύςεοξ ή ίρξ ςξσ 5. SELECT Υξιςηςεπ.ΙχδΥξιςηςη,Ομξμα,Δπχμσμξ, ΙχδΛαθημαςξπ, Βαθμξπ FROM Υξιςηςεπ,Βαθμξλξγιεπ WHERE Υξιςηςεπ.ΙχδΥξιςηςη=Βαθμξλξγιεπ.ΙχδΥξιςηςη and ΙχδΛαθημαςξπ=1 and βαθμξπ >=5 5. Δημιξσογείρςε έμα εοώςημα ςξ όπξιξ μα εμταμίζει ςξ πλήθξπ ςχμ μαθημάςχμ πξσ έυξσμ 3 διδακςικέπ μξμάδεπ. SELECT count(λαθημα) AS PLITHOS FROM Λαθημαςα WHERE ΔιδακςικεπΛξμαδεπ =3 24

6. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει ςημ μέρη ςιμή ςηπ βαθμξλξγίαπ για ςξ ρπξσδαρςή με κχδικό τξιςηςή 1. SELECT AVG(Βαθμξπ) as MO FROM Βαθμξλξγιεπ WHERE ΙχδΥξιςηςη=1 7. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει ςξμ κχδικό τξιςηςή, ςξ όμξμα και ςξ επίθεςξ ςχμ τξιςηςώμ πξσ πήοαμ βαθμό μεγαλύςεοξ ςξσ 5 ρςξ μάθημα με κχδικό 2 SELECT Υξιςηςεπ.ΙχδΥξιςηςη,Ομξμα,Δπχμσμξ,Βαθμξπ,ΙχδΛαθημαςξπ FROM Υξιςηςεπ,Βαθμξλξγιεπ WHERE Υξιςηςεπ.ΙχδΥξιςηςη=Βαθμξλξγιεπ.ΙχδΥξιςηςη and Βαθμξπ>=5 and ΙχδΛαθημαςξπ=2 8. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα εμταμίζει ςξμ κχδικό τξιςηςή, ςξ όμξμα και ςξ επίθεςξ ςχμ τξιςηςώμ, πξσ πέοαραμ ςα Αγγλικά. SELECT Υξιςηςεπ.ΙχδΥξιςηςη,Ομξμα,Δπχμσμξ,Βαθμξπ,Λαθημα FROM Υξιςηςεπ,Βαθμξλξγιεπ,Λαθημαςα WHERE Υξιςηςεπ.ΙχδΥξιςηςη=Βαθμξλξγιεπ.ΙχδΥξιςηςη and Λαθημαςα.ΙχδΛαθημαςξπ=Βαθμξλξγιεπ.Ιχδμαθημαςξπ and Βαθμξπ>=5 and Λαθημα="Αγγλικά" 9. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ μα μεςαςοέπει ςιπ διδακςικέπ μξμάδεπ ςξσ μαθήμαςξπ «υεδιαρμόπ ρυεριακώμ βάρεχμ δεδξμέμχμ» από 4 ρε 5. UPDATE Λαθημαςα SET ΔιδακςικεπΛξμαδεπ=4 WHERE Λαθημα="υεδιαρμόπ ρυεριακώμ βάρεχμ δεδξμέμχμ" 10. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ θα σπξλξγίζει ςξ μέρξ όοξ ςχμ βαθμώμ για κάθε τξιςηςή. SELECT Υξιςηςεπ.Δπχμσμξ, Avg(Βαθμξπ) as MO FROM Υξιςηςεπ, Βαθμξλξγιεπ, Λαθημαςα WHERE Υξιςηςεπ.ΙχδΥξιςηςη=Βαθμξλξγιεπ.ΙχδΥξιςηςη AND Λαθημαςα.ΙχδΛαθημαςξπ=Βαθμξλξγιεπ.Ιχδμαθημαςξπ GROUP BY Δπχμσμξ 25

11. Δημιξσογείρςε έμα εοώςημα ςξ ξπξίξ θα εμταμίζει ςξ μέρξ όοξ ςχμ βαθμώμ για κάθε τξιςηςή πξσ έυξσμ μέρξ όοξ βαθμξλξγίαπ πάμχ από 7. SELECT Υξιςηςεπ.Δπχμσμξ, Avg(Βαθμξπ) as MO FROM Υξιςηςεπ, Βαθμξλξγιεπ, Λαθημαςα WHERE Υξιςηςεπ.ΙχδΥξιςηςη=Βαθμξλξγιεπ.ΙχδΥξιςηςη AND Λαθημαςα.ΙχδΛαθημαςξπ=Βαθμξλξγιεπ.Ιχδμαθημαςξπ GROUP BY Δπχμσμξ HAVING AVG(βαθμξπ)>7 SQL GROUP BY : Ομαδξπξίηρη εγγοάτωμ Ομαδξπξιεί ςιπ έγγοατεπ με βάρη ςημ ςιμή πξσ έυξσμ ρε έμα ή πεοιρρόςεοα πεδία. Ζ ρύμςανη ςηπ GROUP BY Group by Ομόμαςα πεδίχμ ρύμτχμα με ςα ξπξία θα γίμει ξμαδξπξίηρη. Οι ξμάδεπ σπξλξγίζξμςαι από ςξ ςμήμα GROUP BY ςηπ εμςξλήπ SELECT. Σξ απξςέλερμα ςηπ εμςξλήπ απξςελείςαι από μία εγγοατή για κάθε ξμάδα. Σα πεδία πξσ πεοιλαμβάμξμςαι ρςξ ςμήμα SELECT ποέπει είςε μα πεοιλαμβάμξμςαι και ρςξ ςμήμα GROUP BY είςε μα είμαι ρσμαθοξιρςικέπ ρσμαοςήρειπ. Ζ ποόςαρη GROUP BY υοηριμξπξιείςαι ρσμήθχπ όςαμ σπάουξσμ μια ή πεοιρρόςεοεπ ρσμαθοξίρςηκεπ ρσμαοςήρειπ ρςη δήλχρη SQL. Παοάδειγμα Τπξλξγίρςε ςξ μέρξ όοξ ςξσ μιρθξύ ςχμ εογαζξμέμχμ κάθε ςμήμαςξπ. SELECT AVG(Λιρθξπ) FROM Δογαζόμεμξπ GROUP BY Σμήμα 26

Για κάθε ςμήμα μα βοεθεί ςξ πλήθξπ ςχμ εογαζξμέμχμ ρςξ ςμήμα και ξ μέρξπ μιρθόπ ςξσπ. SELECT Σμημα, count(*), avg(λιρθόπ) FROM Δογαζόμεμξπ GROUP BY Σμήμα SQL HAVING O όοξπ having υοηριμξπξιείςαι για μα ξοίρει πεοιξοιρμξύπ πξσ ρυεςίζξμςαι με ςημ ξμαδξπξίηρη πξσ έυει ποαγμαςξπξιηθεί. H ποόςαρη having ρσμςάρρεςαι μεςά ςημ group by και πεοιέυει ρσμθήκεπ πξσ πεοιξοίζξσμ ςιπ γοαμμέπ πξσ επιρςοέτξμςαι μεςά από μία ξμαδξπξίηρη (group by). Ποξρςέθηκε ρςημ SQL επειδή η ποόςαρη where δεμ μπξοεί μα υοηριμξπξιηθεί για ρσγκοίρειπ με απξςελέρμαςα ρσμαθοξιρςικώμ ρσμαοςήρεχμ (π.υ. avg ( Yπξλξιπξ ) > 100. Για κάθε ςμήμα μα βοεθεί ςξ πλήθξπ ςχμ εογαζξμέμχμ ρςξ ςμήμα με μέρξ όοξ μιρθξύ πάμχ από 1000. SELECT Σμημα, count(*),avg(λιρθόπ) FROM Δογαζόμεμξπ GROUP BY Σμήμα HAVING avg(λιρθόπ)>1000 Η ρύμςανη εμόπ εοωςήμαςξπ SQL απξςελείςαι από ένι ποξςάρειπ με ςημ παοακάςω ρειοά: SELECT [ distinct ] ξμόμαςα πεδίχμ, εκτοάρεχμ, ή και ρσμαθοξιρςικέπ ρσμαοςήρειπ FROM ξμόμαςα πιμάκχμ WHERE [ρσμθήκεπ επιλξγήπ ή και ρσμθήκεπ ρύζεσνηπ ρε πεδία και αοιθμηςικέπ εκτοάρειπ] GROUP BY [ξμόμαςα πεδίχμ ρύμτχμα με ςα ξπξία θα γίμει ξμαδξπξίηρη ] HAVING [ρσμθήκεπ πεοιξοιρμξύ ςχμ γοαμμώμ πξσ επιρςοέτξμςαι μεςά από μία ξμαδξπξίηρη ] ORDER BY [ξμόμαςα πεδίχμ ρύμτχμα με ςα ξπξία θα γίμει ςανιμόμηρη] 27