Επεξεργασία προτάσεων SQL για πιο εύστοχα αποτελέσματα ερωτήματος

Επεξεργασία προτάσεων SQL για πιο εύστοχα αποτελέσματα ερωτήματος

Σημείωση: Θέλουμε να σας παρέχουμε το πιο πρόσφατο περιεχόμενο βοήθειας στη γλώσσα σας όσο πιο σύντομα γίνεται. Αυτή η σελίδα έχω μεταφραστεί μέσω αυτοματοποιημένης διαδικασίας και ενδεχομένως να περιέχει γραμματικά λάθη και ανακρίβειες. Ο σκοπός μας είναι αυτό το περιεχόμενο να σας φανεί χρήσιμο. Μπορείτε να μας ενημερώσετε στο κάτω μέρος αυτής της σελίδας εάν οι πληροφορίες σάς φάνηκαν χρήσιμες; Εδώ θα βρείτε το άρθρο στα Αγγλικά, για να το συμβουλεύεστε εύκολα.

Εάν τα ερωτήματά σας δεν λειτουργούν πολύ καλά, μπορείτε να προσθέσετε ορισμένες βασικές προτάσεις SQL ώστε τα εστιάζετε καλύτερα στα αποτελέσματά σας. Ας δούμε λίγους τύπους προτάσεων SQL και τα ορίσματα ή τα τμήματα που μπορείτε να επεξεργαστείτε για να λάβετε τα αποτελέσματα που θέλετε.

Σημείωση: Αυτό το άρθρο δεν αφορά εφαρμογές Web της Access - το είδος βάσης δεδομένων που σχεδιάζετε με την Access και δημοσιεύετε στο Internet.

Σε αυτό το άρθρο

Δημιουργία μιας πρότασης επιλογής

Προσαρμογή του όρου SELECT

Προσαρμογή του όρου FROM

Προσαρμογή του όρου WHERE

Προσαρμογή με τον τελεστή UNION

Δημιουργία μιας πρότασης επιλογής

Μία πρόταση επιλογής SQL έχει δύο έως τρεις όρους. Ο όρος SELECT υποδεικνύει στη βάση δεδομένων πού να αναζητήσει τα δεδομένα και της ζητά να επιστρέψει ένα συγκεκριμένο αποτέλεσμα.

Σημείωση: Οι προτάσεις SELECT τελειώνουν πάντα με ελληνικό ερωτηματικό (;), είτε στο τέλος του τελευταίου όρου είτε σε μια γραμμή μόνο του στο τέλος της πρότασης SQL.

Η ακόλουθη πρόταση επιλογής ζητά από την Access να λάβει πληροφορίες από τις στήλες "Διεύθυνση ηλεκτρονικού ταχυδρομείου" και "Εταιρεία" από τον πίνακα "Επαφές", συγκεκριμένα όπου βρίσκει "Σηάτλ" στη στήλη "Πόλη".

Καρτέλα αντικειμένου SQL που παρουσιάζει μια πρόταση SELECT

Το παραπάνω ερώτημα έχει τρεις όρους: SELECT, FROM, και WHERE.

1. Ο όρος SELECT παραθέτει τις στήλες που περιέχουν τα δεδομένα που θέλετε να χρησιμοποιήσετε και έχει έναν τελεστή (SELECT) ακολουθούμενο από δύο αναγνωριστικά (Διεύθυνση ηλεκτρονικού ταχυδρομείου και Εταιρεία). Εάν ένα αναγνωριστικό έχει διαστήματα ή ειδικούς χαρακτήρες (όπως το αναγνωριστικό "Διεύθυνση ηλεκτρονικού ταχυδρομείου"), θα πρέπει να περικλείεται σε αγκύλες.

2. Ο όρος FROM προσδιορίζει τον πίνακα προέλευσης. Στο παράδειγμα αυτό, έχει έναν τελεστή (FROM) ακολουθούμενο από ένα αναγνωριστικό (Επαφές).

3. Ο όρος WHERE είναι ένας προαιρετικός όρος. Το παράδειγμα έχει έναν τελεστή (WHERE) ακολουθούμενο από μια παράσταση (Πόλη="Σηάτλ").

Για περισσότερες πληροφορίες σχετικά με τα ερωτήματα επιλογής ανατρέξτε στο θέμα Δημιουργία ενός απλού ερωτήματος επιλογής.

Ακολουθεί μια λίστα με κοινούς όρους SQL:

Όρος SQL

Τι κάνει

Απαιτείται ?

SELECT

Παραθέτει τα πεδία που περιέχουν δεδομένα τα οποία σας ενδιαφέρουν.

Ναι

FROM

Παραθέτει τους πίνακες που περιέχουν τα πεδία τα οποία παρατίθενται στον όρο SELECT.

Ναι

WHERE

Καθορίζει τα κριτήρια πεδίου που πρέπει να πληρούνται από κάθε εγγραφή για να συμπεριληφθεί στα αποτελέσματα.

Όχι

ORDER BY

Καθορίζει τον τρόπο ταξινόμησης των αποτελεσμάτων.

Όχι

GROUP BY

Σε μια πρόταση SQL που περιέχει συναρτήσεις συγκεντρωτικών αποτελεσμάτων, παραθέτει πεδία τα οποία δεν συνοψίζονται στον όρο SELECT.

Μόνο εάν υπάρχουν τέτοιου είδους πεδία

HAVING

Σε μια πρόταση SQL που περιέχει συναρτήσεις συγκεντρωτικών αποτελεσμάτων, καθορίζει τις συνθήκες που ισχύουν για τα πεδία τα οποία συνοψίζονται στην πρόταση SELECT.

Όχι

Κάθε όρος SQL αποτελείται από επιμέρους όρους. Ακολουθεί μια λίστα με κοινούς επιμέρους όρους SQL.

Επιμέρους όρος SQL

Ορισμός

Παράδειγμα

αναγνωριστικό

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

[Διεύθυνση ηλεκτρονικού ταχυδρομείου] και Εταιρεία

τελεστής

Μια λέξη-κλειδί που αντιπροσωπεύει ή τροποποιεί μια ενέργεια.

AS

σταθερά

Μια τιμή που δεν αλλάζει, όπως ένας αριθμός ή NULL.

42

παράσταση

Ένας συνδυασμός αναγνωριστικών, τελεστών, σταθερών και συναρτήσεων που αξιολογείται με μία τιμή.

>= Προϊόντα.[Τιμή μονάδας]

Επάνω μέρος της σελίδας

Προσαρμογή του όρου SELECT

Προσαρμογή

Παράδειγμα

Να βλέπετε μόνο διακριτές τιμές.

Χρησιμοποιήστε τη λέξη-κλειδί DISTINCT στον όρο SELECT.

Για παράδειγμα, ας υποθέσουμε ότι οι πελάτες σας προέρχονται από διάφορα υποκαταστήματα και ορισμένοι έχουν τον ίδιο αριθμό τηλεφώνου. Αν εσείς θέλετε ένας αριθμός τηλεφώνου να παρατίθεται μόνο μία φορά, ο όρος SELECT θα είναι κάπως έτσι:

SELECT DISTINCT [txtCustomerPhone] 

Για να αλλάξετε τον τρόπο εμφάνισης ενός αναγνωριστικού σε Προβολή φύλλου δεδομένων για να βελτιωθεί η αναγνωσιμότητα.

Χρησιμοποιήστε τον τελεστή AS (Μια λέξη-κλειδί που αντιπροσωπεύει ή τροποποιεί μια ενέργεια) με ένα ψευδώνυμο πεδίου στον όρο SELECT. Ένα ψευδώνυμο πεδίου είναι ένα όνομα που εκχωρείτε σε ένα πεδίο για να κάνετε πιο ευανάγνωστα τα αποτελέσματα.

SELECT [txtCustPhone] AS [Customer Phone]

Προσαρμογή του όρου FROM

Προσαρμογή

Παράδειγμα

Μπορείτε να χρησιμοποιήσετε ένα ψευδώνυμο πίνακα ή ένα διαφορετικό όνομα που εκχωρείτε σε έναν πίνακα σε μια πρόταση επιλογής. Το ψευδώνυμο πίνακα είναι χρήσιμο εάν το όνομα του πίνακα είναι μεγάλο, ιδιαιτέρως εάν έχετε πολλά πεδία με το ίδιο όνομα από διαφορετικούς πίνακες.

Για να επιλέξετε δεδομένα από δύο πεδία που έχουν και τα δύο το όνομα "Αναγνωριστικό", το ένα προέρχεται από τον πίνακα "πνκΠελάτης" και το άλλο από τον πίνακα "πνκΠαραγγελία":

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Χρησιμοποιήστε τον τελεστή AS για να ορίσετε ψευδώνυμα πίνακα στον όρο FROM:

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτά τα ψευδώνυμα πίνακα στο όρο SELECT, ως εξής:

SELECT [C].[ID], 
[O].[ID]

Χρησιμοποιήστε συνδέσμους για να συνδυάσετε ζεύγη εγγραφών από δύο προελεύσεις δεδομένων σε ένα αποτέλεσμα ή για να καθορίσετε αν δεν θα περιλαμβάνει εγγραφές από κανέναν πίνακα σε περίπτωση που δεν υπάρχουν αντίστοιχες εγγραφές στο σχετιζόμενο πίνακα.

Συνδέστε τους πίνακες ώστε το ερώτημα να συνδυάζει τα στοιχεία από τους πίνακες και να αποκλείει στοιχεία όταν δεν υπάρχει αντίστοιχη εγγραφή στον άλλον πίνακα

Ο όρος FROM θα είναι κάπως έτσι:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Σχετικά με τη χρήση συνδέσμων

Υπάρχουν δύο τύποι συνδέσμων: εσωτερικοί και εξωτερικοί σύνδεσμοι. Οι εσωτερικοί σύνδεσμοι συνηθίζονται περισσότερο στα ερωτήματα. Όταν εκτελείτε ένα ερώτημα με έναν εσωτερικό σύνδεσμο, το αποτέλεσμα εμφανίζει μόνο τα στοιχεία εκείνα όπου υπάρχει μια τιμή κοινή και στους δύο συνδεδεμένους πίνακες.

Οι εξωτερικοί σύνδεσμοι καθορίζουν αν θα συμπεριληφθούν δεδομένα όταν δεν υπάρχουν κοινές τιμές. Οι εξωτερικοί σύνδεσμοι δηλώνουν κατεύθυνση, δηλαδή μπορείτε να καθορίσετε αν θα συμπεριληφθούν όλες οι εγγραφές από τον πρώτο πίνακα που καθορίζεται στο σύνδεσμο (που ονομάζεται αριστερός σύνδεσμος) ή αν θα συμπεριληφθούν όλες οι εγγραφές από τον δεύτερο πίνακα στο σύνδεσμο (που ονομάζεται δεξιός σύνδεσμος). Ένας εξωτερικός σύνδεσμος έχει την εξής σύνταξη SQL:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Δείτε περισσότερες πληροφορίες σχετικά με τη χρήση συνδέσμων σε ένα ερώτημα σε σύνδεση πινάκων και ερωτημάτων.

Επάνω μέρος της σελίδας

Προσαρμογή του όρου WHERE

Ο όρος WHERE περιλαμβάνει κριτήρια που βοηθούν στον περιορισμό του αριθμού των στοιχείων που επιστρέφει ένα ερώτημα. Δείτε παραδείγματα κριτηρίων ερωτήματος και πώς λειτουργούν.

Ένα παράδειγμα για το πώς μπορείτε να προσαρμόσετε το βασικό όρο WHERE για να περιορίσετε τα αποτελέσματα ενός ερωτήματος. Ας υποθέσουμε ότι θέλετε να εντοπίσετε τον αριθμό τηλεφώνου ενός πελάτη και θυμάστε μόνο ότι το επώνυμό του είναι Κινήνης. Στο παράδειγμα αυτό, τα επώνυμα αποθηκεύονται σε ένα πεδίο "Επώνυμο", οπότε η σύνταξη SQL θα ήταν:

WHERE [LastName]='Bagel'

Μπορείτε επίσης να χρησιμοποιήσετε τον όρο WHERE για να συνδυάσετε προελεύσεις δεδομένων για στήλες που έχουν δεδομένα που συμφωνούν, αλλά διαφορετικούς τύπους δεδομένων. Αυτό είναι χρήσιμο, καθώς δεν μπορείτε να δημιουργήσετε ένα σύνδεσμο μεταξύ πεδίων που έχουν διαφορετικούς τύπους δεδομένων. Χρησιμοποιήστε το ένα πεδίο ως κριτήριο για το άλλο πεδίο, με τη λέξη-κλειδί LIKE. Για παράδειγμα, εάν θέλετε να χρησιμοποιήσετε δεδομένα από έναν πίνακα "Περιουσιακά στοιχεία" κι έναν πίνακα "Υπάλληλοι", μόνο όταν ο τύπος περιουσιακού στοιχείου στο πεδίο "Τύπος περιουσιακού στοιχείου" του πίνακα "Περιουσιακά στοιχεία" έχει τον αριθμό 3 στο πεδίο "Ποσότητα" του πίνακα "Υπάλληλοι", ο όρος WHERE θα ήταν:

WHERE field1 LIKE field2

Σημαντικό:  Σε έναν όρο WHERE δεν μπορείτε να καθορίσετε κριτήρια για ένα πεδίο που χρησιμοποιείται με μια συνάρτηση συγκεντρωτικών αποτελεσμάτων. Αντί αυτού, μπορείτε να χρησιμοποιήσετε έναν όρο HAVING για να καθορίσετε κριτήρια για τα συγκεντρωτικά πεδία.

Επάνω μέρος της σελίδας

Προσαρμογή με τον τελεστή UNION

Χρησιμοποιήστε τον τελεστή UNION όταν θέλετε να δείτε μια συνδυασμένη προβολή αποτελεσμάτων πολλών παρόμοιων ερωτημάτων επιλογής. Για παράδειγμα, εάν η βάση δεδομένων σας έχει έναν πίνακα "Προϊόντα" κι έναν πίνακα "Υπηρεσίες" κι έχουν και οι δύο τρία πεδία: αποκλειστική προσφορά ή υπηρεσία ή προϊόν κατά αποκλειστικότητα, τιμή, εγγύηση ή εγγύηση ποιότητας. Αν και ο πίνακας "Προϊόντα" αποθηκεύει πληροφορίες εγγύησης ενώ ο πίνακας "Υπηρεσίες" αποθηκεύει πληροφορίες εγγύησης ποιότητας, οι βασικές πληροφορίες είναι οι ίδιες. Μπορείτε να χρησιμοποιήσετε ένα ερώτημα συνένωσης για να συνδυάσετε τα τρία πεδία από τους δύο πίνακες ως εξής:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Όταν εκτελείτε το ερώτημα, τα δεδομένα από κάθε σύνολο αντίστοιχων πεδίων συνδυάζονται σε ένα πεδίο εξόδου. Για να συμπεριλάβετε διπλότυπες γραμμές στα αποτελέσματα, χρησιμοποιήστε τον τελεστή ALL.

Σημείωση: Οι προτάσεις επιλογής πρέπει να έχουν τον ίδιο αριθμό πεδίων εξόδου, με την ίδια σειρά και με τους ίδιους ή συμβατούς τύπους δεδομένων. Για τους σκοπούς ενός ερωτήματος συνένωσης, οι τύποι δεδομένων "Αριθμός" και "Κείμενο" είναι συμβατοί.

Για περισσότερες πληροφορίες σχετικά με τα ερωτήματα συνένωσης, ανατρέξτε στο θέμα Χρήση ερωτήματος συνένωσης για προβολή ενιαίου αποτελέσματος από πολλαπλά ερωτήματα.

Αρχή της σελίδας

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×