2. Βασικά Σημεία Access
• Η Access είναι ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων (DBMS)
σχεδιασμένο από την Microsoft
• Γενικά η Access ασχολείτε με:
▫ Πίνακες (Tables)
▫ Σχέσεις Πινάκων (Relationship)
▫ Ερωτήματα σε Access (Queries)
▫ Φόρμες (Forms)
▫ Εκθέσεις (Reports)
▫ Εισαγωγή και Εξαγωγή Δεδομένων (Import/Export)
AccessΝτ Μιχάλης
2
4. Ερωτήματα (Queries)
• Τα ερωτήματα είναι αντικείμενα που συλλέγουν (προβάλλουν + αλλάζουν)
εγγραφές από έναν ή περισσότερους πίνακες σε μια βάση που ταιριάζουν
στα κριτήρια του ερωτήματος
• Τα ερωτήματα προβάλλονται σε ένα φύλλο δεδομένων και αποθηκεύονται
σαν αντικείμενα στην βάση
• Χρησιμοποιούνται για την προβολή συγκεκριμένων εγγραφών από έναν
πίνακα (one-table query) ή από περισσότερους πίνακες (multi-table
query)
AccessΝτ Μιχάλης
4
5. Δημιουργία Ερωτημάτων
• Υπάρχουν οι εξής τρόποι με τους οποίους μπορούμε να δημιουργήσουμε
ένα ερώτημα:
▫ Οδηγός Ερωτήματος (Query Wizard)
μας παρέχει βήμα προς βήμα την δημιουργία ερωτήματος
▫ Σχεδίαση Ερωτήματος (Query Design)
σχεδιάζουμε εμείς τα ερωτήματα
• Υπάρχουν οι εξής τύποι ερωτημάτων στην Access:
1. Ερωτήματα Επιλογής
2. Ερωτήματα Ενέργειας
3. Ερωτήματα Διασταύρωσης
4. SQL Ερωτήματα
• Παρακάτω αναλύονται οι τύποι ερωτημάτων
• ΣΗΜΕΙΩΣΗ: Το όνομα του ερωτήματος δεν μπορεί να είναι το ίδιο με
ένα όνομα πίνακα
AccessΝτ Μιχάλης
5
6. 1) Ερωτήματα Επιλογής(Select Queries)
• Είναι τα ερωτήματα που εξάγουμε και προβάλλουμε δεδομένα
• Τα δεδομένα που θα εμφανιστούν συμμορφώνονται σε συγκεκριμένα
κριτήρια
• Τα αποτελέσματα των κριτηρίων μπορούν να επεξεργαστούν
• Η επεξεργασία των αποτελεσμάτων εξαρτάται από το ίδιο το ερώτημα
• Είναι ο πιο κοινός τύπος ερωτημάτων
• Παρακάτω αναλύουμε πως δημιουργούμε / σχεδιάζουμε ένα ερώτημα
AccessΝτ Μιχάλης
6
7. Προβολή Σχεδίασης Ερωτήματος
(Design View Query)
• Αφού επιλέξουμε τους πίνακες από στο πάνω μέρος στην συνεχεια
ορίζουμε πεδία και κριτήρια στο κάτω μέρος:
i. Πεδίο (field)
εδώ τοποθετούμε το πεδίο που θα χρησιμοποιήσουμε
ii. Πίνακας (table)
βάζουμε το όνομα του πίνακα από όπου θα πάρουμε το πεδίο. Αυτή η
επιλογή είναι χρήσιμη όταν χρησιμοποιούμε διάφορους πίνακες
iii. Ταξινόμηση (sort)
σε φθίνουσα ή αύξουσα σειρά
iv. Εμφάνιση (show)
εάν δεν είναι μαρκαρισμένη τότε το συγκεκριμένο πεδίο(στήλη) δεν θα
εμφανίζεται
v. Κριτήρια (criteria)
οι τιμές του πεδίου πρέπει να συμφωνούν με αυτήν την επιλογή (συνθήκη)
ώστε να εμφανιστούν στο αποτέλεσμα
vi. ή (or)
χρησιμοποιούμε αυτήν την επιλογή για να εισάγουμε πολλαπλά κριτήρια
AccessΝτ Μιχάλης
7
8. Πεδίο (Field)
• Αν θέλουμε να βάλουμε όλα τα πεδία ενός πίνακα τότε βάζουμε το *
▫ αυτό μας επιτρέπει την αυτόματη προσθήκη και διαγραφή σε αντίστοιχη
εισαγωγή και διαγραφή πεδίου στον πίνακα
▫ για παράδειγμα students.*
• Αν θέλουμε να αλλάξουμε το όνομα στο πεδίο τότε γράφουμε:
newName: fieldName
• Μπορούμε αντί για πεδίο να βάλουμε μια έκφραση όπως:
▫ DATE()
επιστρέφει την τρέχουσα ημερομηνία
▫ NOW()
επιστρέφει την ημερομηνία και την ώρα
▫ YEAR(datevalue)
επιστρέφει το έτος από το datevalue
▫ MONTH(date)
επιστρέφει το μήνα από το datevalue
▫ CDATE(literalvalue)
μετατρέπει το literalvalue σε τιμή ημερομηνίας
AccessΝτ Μιχάλης
8
9. Συνθήκες Ερωτημάτων - Criteria(1)
ΤΕΛΕΣΤΗΣ EXAMPLE ΠΕΡΙΓΡΑΦΗ
= ='ΜΝ' Ίσο
<> <>'ΜΝ' Διάφορο
< <10 Μικρότερο από
<= <=10 Μικρότερο ή ίσο
> >10 Μεγαλύτερο
>= <=10 Μεγαλύτερο ή ίσο
BETWEEN Between 1/1/99 and 1/12/99 Ανάμεσα σε τιμές
IN In (10,15,20) Μια από αυτές τις τιμές
LIKE Like 's*' Οποιαδήποτε λέξη αρχίζει από ..
NOT NOT 'MN' Οτιδήποτε εκτός ..
IS NULL IS NULL Βρίσκει τις εγγραφές που τα πεδία
τους είναι κενά
IS NOT NULL IS NOT NULL Βρίσκει τις εγγραφές που τα πεδία
τους δεν είναι κενά
AccessΝτ Μιχάλης
9
10. Συνθήκες Ερωτημάτων - Criteria (2)
• Between
▫ expr between value1 and value2
εξετάζει αν η τιμή της expr (έκφρασης) είναι μεταξύ των τιμών value1 και
value2
▫ συνήθως η expr είναι το όνομα του πεδίου.
• In
▫ expr in (value1,value2, value3,..)
εξετάζει αν η τιμή της έκφρασης είναι μια από τις τιμές τις παρένθεσης.
• Null
▫ expr is Null
επιστρέφει μια τιμή TRUE/FALSE, την χρησιμοποιούμε όταν θέλουμε να
βρούμε τις κενές τιμές μιας στήλης.
AccessΝτ Μιχάλης
10
11. Συνθήκες Ερωτημάτων - Criteria (3)
• Like
▫ expr like 'pattern'
χρησιμοποιούμε όταν θέλουμε να βάλουμε μπαλαντέρ χαρακτήρες
• Η λίστα παραμέτρων αποτελείται από ψηφία και χαρακτήρες
• Για παράδειγμα:
▫ [agvr]* τα ονόματα που ξεκινούν από a,g,r,v
▫ [abcde] ή [a-e] εύρος χαρακτήρων από a έως e [a-e]
AccessΝτ Μιχάλης
11
Πρότυπο(pattern) Σημασία
? Μονός χαρακτήρας
* Μηδέν, ένας ή περισσότεροι χαρακτήρες
# Μονά ψηφία [0-9]
[λίστα παραμέτρων] Οποιοσδήποτε χαρακτήρας μέσα στην λίστα
[!λίστα παραμέτρων] Οποιοσδήποτε χαρακτήρας εκτός λίστας
12. Παραδείγματα Like
ΕΙΔΟΣ ΠΑΡΑΔΕΙΓΜΑ TRUE FALSE
Πολλοί χαρακτήρες Like "a*a" aa, aBa, aBBBa aBC
Like "*ab*" abc, AABB, Xab aZb, bac
Like "ab*" abcdefg, abc cab, aab
Ειδικοί χαρακτήρες Like "a[*]a" a*a aaa
Ένας χαρακτήρας Like "a?a" aaa, a3a, aBa aBBBa
Ένα ψηφία Like "a#a" a0a, a1a, a2a aaa, a10a
Εύρος χαρακτήρων Like "[a-z]" f, p, j 2, &
Εκτός εύρους χαρακτήρων Like "[!a-z]" 9, &, % b, a
Όχι αριθμός Like "[!0-9]" A, a, &, ~ 0, 1, 9
Συνδυασμός Like "a[!b-m]#" An9, az0, a99 abc, aj0
AccessΝτ Μιχάλης
12
13. Πολλαπλά Ερωτήματα(Multiple queries)
• Ένα πολλαπλό ερώτημα είναι ένα ερώτημα που λαμβάνει δεδομένα από
πολλούς πίνακες, για αυτό θα πρέπει να συνενώσουμε (join) 2 πίνακες (ή
παραπάνω) ώστε να μπορέσουμε να τρέξουμε ένα πολλαπλό ερώτημα
• Υπάρχουν 2 τρόποι “join” πινάκων
1. με την χρήση ενός κοινού πεδίου (όπως στις σχέσεις)
μπορούμε να ενώσουμε 2 πίνακες σε κοινά πεδία, οι γραμμές των πινάκων
ενώνονται αυτόματα στις κοινές τιμές
2. με εξωτερική σύνδεση (χωρίς κοινό πεδίο)
σε αυτήν την περίπτωση με διπλό κλικ πάνω στην "σύνδεση" βλέπουμε 3
επιλογές:
εσωτερική συνένωση (internal join)
είναι το ίδιο με την παραπάνω επιλογή
αριστερή συνέσωση (left join)
περιλαμβάνει όλες τις εγγραφές από τον αριστερό πίνακα και αυτές που ταιριάζουν
από τον δεξιό
δεξιά συνένωση (right join)
περιλαμβάνει όλες τις εγγραφές από τον αριστερό πίνακα και αυτές που ταιριάζουν
από τον δεξιό
AccessΝτ Μιχάλης
13
14. Παράδειγμα Πολλαπλού Ερωτήματος
• Για παράδειγμα στην βάση Multiple.accdb σχεδιάζουμε ένα νέο query με
όνομα "LoanPerCustomers" με τα πεδία "customer_fname",
"customer_lname" και "loan_amount" από τους πίνακες "Customers"και
"Loans"
• Πριν το εκτελέσουμε συνενώνουμε τους δύο πίνακες στα πεδία
"customer_id" και "customer_id_fk"
• Με την εκτέλεση του έχουμε ένα ερώτημα JOIN με την χρήση ενός κοινού
πεδίου
• Αν πατήσουμε διπλό κλικ πάνω στην γραμμή της ένωσης μποροούμε να
επιλέξουμε τα δύο εξωτερικά JOIN
AccessΝτ Μιχάλης
14
15. Self Join
• Μπορούμε να εκτελέσουμε ένα query χρησιμοποιώντας έναν πίνακα δύο
φορές
• Οι πίνακες θα μετονομασθούν καταλλήλως (πχ "tableName_1") ώστε να
μπορούμε να του ξεχωρίσουμε
• Για παράδειγμα έστω ότι έχουμε την βάση "SelfJoin.accdb" και τον πίνακα
"Employees"
• Κάθε ένας υπάλληλος έχει και έναν manager, το ID του οποίου είναι στο
πεδίο "Manager_ID"
• Δημιουργούμε ένα νέο ερώτημα και βάζουμε δύο φορές τον πίνακα
"Employees"
• Στην συνέχεια ενώνουμε τους δύο πίνακες στα πεδία "ID" και
"Manager_ID"
• Τέλος εμφανίζουμε όλα τα πεδία από τους δύο πίνακες στα πεδία του
ερώτηματος
AccessΝτ Μιχάλης
15
16. Ερωτήματα Αθροίσματος (Summary Queries)
• Στην Access μπορούμε να ορίσουμε ειδικά ερωτήματα για τον υπολογισμό
των συνόλων των εγγραφών ενός πίνακα (ή και άλλων πινάκων)
• Με αυτό τον τρόπο μπορούμε να ομαδοποιήσουμε, να προσθέσουμε κτλ
τις εγγραφές
AccessΝτ Μιχάλης
16
17. Συναρτήσεις Αθροίσματος
• Έχουμε τις εξής διαθέσιμες συναρτήσεις
▫ Group By: ομαδοποιεί τις εγγραφές
▫ Sum: υπολογιζει το άθροισμα των τιμών οι οποίες πρέπει να είναι συμβατού
τύπου δεδομένων
▫ Avg: υπολογίζει το μέσο όρο
▫ StDev: (Standard Deviation) υπολογίζει την τυπική απόκλιση
▫ Var: (Variance) υπολογίζει την διακύμανση (το τετράγωνο της StDev)
▫ Min: υπολογίζει το έλαχιστο από κείμενο, αριθμό ή ημερομηνία
▫ Max: υπολογίζει το έλαχιστο από κείμενο, αριθμό ή ημερομηνία
▫ Count: υπολογίζει το πλήθος των τιμών μιας στήλης, δεν μετράει τα null αλλά
μετράει τα διπλότυπα
▫ First: μας φέρνει την πρώτη εισαχθείσα εγγραφή
▫ Last: μας φέρνει την τελευταία εισαχθείσα εγγραφή
▫ Expression: μας επιτρέπει να βάλουμε μια έκφρασή αντί για όνομα πεδίου
στο πεδίο
▫ Where: μας επιτρέπει να βάλουμε κριτήρια πριν "τρέξουν" οι υπολογισμοί του
ερωτήματος
AccessΝτ Μιχάλης
17
18. Παράδειγμα Αθροίσματος
• Έστω ότι έχουμε τον πίνακα "Sales2014" στην βάση "Summary.accdb"
• Δημιουργούμε ένα ερώτημα με όνομα "Statistics Per Area"με το οποίο θα
πάρουμε:
▫ τις τελικές πωλήσεις ανά περιοχή (στήλη "total sales per area")
▫ τις ελάχιστες πωλήσεις ανά περιοχή (στήλη "Min sales")
▫ τις μέγιστες πωλήσεις ανά περιοχή (στήλη "Max Sales")
▫ τον αριθμό των πωλήσεων ανά περιοχή
• Δημιουργούμε ένα ερώτημα με όνομα "Statistics Per Office"με το οποίο θα
πάρουμε:
▫ τις τελικές πωλήσεις ανά γραφείο (στήλη "total sales per office")
▫ τον μέσο όρο ανά κατάστημα (στήλη "Average per office")
• Για να το κάνουμε αυτό θα πρέπει να εμφανίσουμε την γραμμή "Σύνολο"
(Totals), στην οποία βλέπουμε τις συναρτήσεις αθροίσματος
AccessΝτ Μιχάλης
18
19. 2) Ερωτήματα Ενέργειας (Action Queries)
• Είναι τα ερωτήματα που μας επιτρέπουν με μόνο μια λειτουργία να
κάνουμε αλλαγές σε πολλές εγγραφές (γραμμές) στον πίνακα
• Με αυτά τα ερωτήματα μπορούμε να
▫ δημιουργήσουμε νέο πίνακα που θα συμπεριλάβουν εγγραφές από άλλο
πίνακα
▫ αλλάξουμε αποθηκευμένα δεδομένα
▫ να εισάγουμε εγγραφές
▫ διαγράψουμε τις υπάρχουσες
• Μερικές ενέργειες τους είναι η
a) δημιουργία πίνακα από τον υπάρχοντα (make-table queries)
b) ενημέρωση (update queries)
c) εισαγωγή δεδομένων (append queries)
d) διαγραφή (delete queries)
AccessΝτ Μιχάλης
19
20. a) Make table queries
• Δημιουργεί έναν νέο πίνακα με εγγραφές από έναν η περισσότερους
πίνακες.
• Υπάρχουν 3 είδη αυτών των ερωτημάτων:
i. Working tables
το δημιουργούμε για ένα συγκεκριμένο ερώτημα που παίρνει πολύ ώρα να
εκτελεσθεί και το χρησιμοποιούμε συχνά
ii. Export tables
το χρησιμοποιούμε πχ για να στείλουμε ένα αντίγραφο του πίνακά μας
iii. History table
ένα είδος back up
• Για να δημιουργήσουμε ένα τέτοιο πίνακα μεταβαίνουμε στην "Προβολή
Σχεδίασης" του ερωτήματος
• Σχεδιάσουμε κανονικά το ερώτημα και πριν πατήσουμε την εκτέλεση
επιλέγουμε την επιλογή "Δημιουργία πίνακα" (Make Table)
AccessΝτ Μιχάλης
20
21. Παράδειγμα Make table query
• Για παράδειγμα στην βάση Actions.accdb σχεδιάζουμε ένα νέο query με
όνομα "MakeTableCity" στον πίνακα "Customers" με όλους όσους έχουν
σαν πόλη (City) την "Raleigh"
• Το αποτέλεσμα του query θα το αποθηκεύουμε σε έναν νέο πίνακα με
όνομα "CustomersInRaleigh" στην ίδια βάση
• Όταν εκτελέσουμε το query και κάθε φορά που εκτελούμε το query τότε
θα δημιουργηθεί ή θα ανανεωθεί ο πίνακας "CustomersInRaleigh"
αντίστοιχα
AccessΝτ Μιχάλης
21
22. b) Update Queries
• Μας επιτρέπει την τροποποίηση των ήδη αποθηκευμένων δεδομένων σε
έναν πίνακα
• Με μια λειτουργία μπορούμε να αλλάξουμε ταυτόχρονα όλες τις εγγραφές
ή μόνο αυτές που είναι σύμφωνες με μία συνθήκη
• Η δημιουργία ενός "Ερωτήματος Ανανέωσης" γίνεται με παρόμοιο τρόπο
με το "Make Table Query" με την μόνη διαφορά ότι σε κάθε εκτέλεση
γίνεται ενημέρωση στο αντίστοιχο πεδίο
• Στην "Προβολή Σχεδίασης" εμφανίζεται στην θέση της "Ταξινόμησης"
(Sort) και της "Εμφάνισης" το πεδίο "Ενημέρωση" στο οποίο βάζουμε την
νέα τιμή
AccessΝτ Μιχάλης
22
23. Παράδειγμα Update Query
• Για παράδειγμα στην βάση Actions.accdb σχεδιάζουμε ένα νέο query με
όνομα "UpdateCity" στον πίνακα "Customers" ώστε να αλλάξουμε σε
"Greensboro" όλους όσους έχουν σαν πόλη (City) την "Durham"
• Αφού μεταβούμε στην "Σχεδίαση Πινάκων" επιλέγουμε τον πίνακα
"Customers" και επιλέγουμε "Update"
• Στην γραμμή "Update To" γράφουμε "Greensboro" και στην γραμμή
"Κριτήρια" (Criteria) το "Durham"
AccessΝτ Μιχάλης
23
24. c) Append Queries
• Είναι τα ερωτήματα που εισάγουμε ολόκληρες γραμμές σε έναν πίνακα
• Μπορούμε να εισάγουμε μία εγγραφή ή πολλές ταυτόχρονα περνώντας
,συνήθως, τα δεδομένα από άλλο πίνακα
• Συμπέρασμα: αυτού του είδους τα ερωτήματα έχουν μια πηγή (τον πίνακα
ή τους πίνακες που παίρνει τα δεδομένα) και έναν προορισμό (τον πίνακα
που εισάγει τα δεδομένα)
• Ο μηχανισμός και η διαδικασία που ακολουθείται μοιάζει πάρα πολύ με
αυτόν του Make-table
• Στην προβολή σχεδίαση του ερωτήματος επιλέγουμε τους πίνακες που θα
πάρουμε τα δεδομένα και πατώντας το "Append" εισάγουμε το όνομα του
νέου ή υπαρχοντα πίνακα που θα γεμίσει
• Στην συνέχεια επιλέγουμε στα αντίστοιχα πεδία σε ποια πεδία θα τα
εισάγω
AccessΝτ Μιχάλης
24
25. Παράδειγμα Append Query
• Για παράδειγμα στην βάση Actions.accdb σχεδιάζουμε ένα νέο query με
όνομα "PutVipCust" στο οποίο θα βάλουμε όλους τους πελάτες από τον
πίνακα "Customers", οι οποίοι έχουν ΤΚ (Zip Code) το 27609, στον πίνακα
"Vip_Customers"
• Κάνουμε την ίδια διαδικασία με τα προηγούμενα Actions και αφού
επιλέξουμε "Append" ορίζουμε σε ποιον πίνακα θα προσθεσουμε
εγγραφές
• Στην συνέχει προσθέτουμε όλα τα πέδία του πίνακα "Customers" και στην
σειρά "Append To" τα αντίστοιχα πεδία του πίνακα "Vip_Customers"
• Με την ολοκλήρωση της δημιουργίας εκτελούμε το query
AccessΝτ Μιχάλης
25
26. d) Delete Queries
• Είναι τα ερωτήματα που διαγράφουν εγγραφές από έναν πίνακα
• Μπορούμε στον σχεδιαασμό ενός query να χρησιμοποιήσουμε πολλούς
πίνακες, αλλά η διαγραφή θα γίνει από έναν
• Τους υπόλοιπους πίνακες τους χρειαζόμαστε για τα κριτήρια που θα
βάλουμε
• Στην "Σχεδίαση Ερωτήματος" αφού επιλέξουμε "Delete" θα μας
εμφανιστεί μία γραμμή "Delete" η οποία έχει δύο επιλογές:
▫ From
υποδηλώνει ότι θέλουμε να σβήσουμε τις εγγραφές από αυτόν τον πίνακα
αυτής της στήλης
▫ Where
υποδήλώνει τα κριτήρια που θα βάλουμε στις στήλες των πινάκων
AccessΝτ Μιχάλης
26
27. Παράδειγμα Delete Query
• Για παράδειγμα στην βάση Actions.accdb σχεδιάζουμε ένα νέο query με
όνομα "DeleteByZip" το οποίο θα διαγράφει από τον πίνακα "Customers"
τις εγγραφές με ΤΚ το "27513"
• Ακολουθούμε παρόμοια διαδικασία και επιλέγουμε στο πρώτο πεδίο:
▫ "Customers.*" και στο αντίστοιχο Delete το "From"
▫ "Zip Code" και στο αντίστοιχο Delete το "Where" και στο κριτήρια (Criteria) το
=" 27513"
• Όταν το εκτελέσουμε και κάθε φορά που το εκτελούμε θα διαγράφονται
οι εγγραφές από τον πίνακα Customers που πληρούν τα κριτήρια
AccessΝτ Μιχάλης
27
28. 3) Ερωτήματα Διασταύρωσης
(Crosstab Queries)
• Χρησιμοποιούμε αυτόν τον τύπο για να υπολογίσουμε και να
αναδιαρθρώσουμε τα δεδομένα μας για καλύτερη ανάλυση
• Τα ερωτήματα διασταύρωσης υπολογίζουν ένα άθροισμα , μέσο όρο,
πλήθος ή άλλο τύπο συνόλου για δεδομένα που είναι ομαδοποιημένα
κατά 2 τύπους ο ένας κατά μήκος της αριστερής πλευράς και ο άλλος
οριζόντια στην κορυφή (πάνω μέρος )
• Για να δημιουργήσουμε ένα ερώτημα διαστάυρωσης υπάρχουν δύο
τρόποι:
▫ μέσω του crosstab query wizard
▫ από την σχεδίαση ερωτήματος
AccessΝτ Μιχάλης
28
29. Παράδειγμα Ερωτήματα Διασταύρωσης
• Ανοίξτε το αρχείο Crosstab.accdb και τον πίνακα Sales_2014, στον οποίο
φαίνονται οι πωλήσεις τους διάφορες μήνες
• Το Crosstab query θα μας βοηθήσει να ομαδοποιήσουμε τις πωλήσεις ανά
μήνα και να τις προσθέσουμε ξεχωριστά για κάθε ένα πωλητή
• Ο πίνακας Sales 2014
• Το αποτέλεσμα του query (μέσω του crosstab
query wizard):
AccessΝτ Μιχάλης
29
30. 4) SQL Ερωτήματα (SQL Queries)
• H SQL (Structured Query Language) είναι η γλώσσα που μας βοηθά να
επικοινωνήσουμε με το Microsoft Jet (DBMS)
• Όταν δημιουργούμε ένα ερώτημα στην Σχεδίαση Ερωτήματος τότε η
Access αυτόματα δημιουργεί το αντίστοιχο σε SQL
• Μπορούμε να το δούμε αυτό επιλέγοντας 'Προβολή SQL'
• Όταν σχεδιάζουμε ένα ερώτημα πάντοτε δημιουργείτε το αντίστοιχο σε
SQL, δεν συμβαίνει όμως το αντίθετο
AccessΝτ Μιχάλης
30
31. Παράδειγμα SQL Ερωτήματος
• Για παράδειγμα στην βάση SQL_Queries.accdb σχεδιάζουμε
▫ ένα νέο query με όνομα "Using SQL A" το οποίο θα μας επιστρέψει όλες τις
εγγραφές από τον customers
SELECT * FROM customers;
▫ ένα νέο query με όνομα "Using SQL B" το οποίο θα μας επιστρέψει μόνο το
"customer_fname" όλων των εγγραφών
SELECT customer_fname FROM customers;
▫ ένα νέο query με όνομα "Using SQL C" το οποίο θα μας επιστρέψει όλες τις
εγγραφές από τον customers που έχουν "customer_ammount" μεγαλύτερο από
5000
SELECT * FROM customers WHERE customer_amount > 5000;
▫ ένα νέο query με όνομα "Using SQL D" το οποίο θα μας επιστρέψει μόνο το
"customer_fname" και το "customer_lname" όλων των εγγραφών από τον
customers που έχουν "customer_ammount" μικρότερο ή ίσο από 5000 και
"customer_fname" που αρχίζει από "C"
SELECT customer_fname, customer_lname FROM customers WHERE
customer_amount <= 5000 AND customer_fname LIKE "C*";
AccessΝτ Μιχάλης
31