Σχεδίαση ερωτήματος

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

Για να έχετε πρόσβαση σε αυτήν τη λειτουργία...

Σε ένα παράθυρο αρχείου βάσης δεδομένων, πατήστε στο εικονίδιο Ερωτήματα, μετά επιλέξτε Επεξεργασία - Επεξεργασία


Εικονίδιο σημείωσης

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


Εικονίδιο σημείωσης

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


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

Η Προβολή σχεδίασης

Για να δημιουργήσετε ένα ερώτημα, πατήστε στο εικονίδιο Ερωτήματα σε ένα έγγραφο βάσης δεδομένων και έπειτα πατήστε το Δημιουργία ερωτήματος στην προβολή σχεδίασης.

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

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

Αν θέλετε να δοκιμάσετε ένα ερώτημα, διπλοπατήστε στο όνομα του ερωτήματος στο έγγραφο βάσης δεδομένων. Το αποτέλεσμα του ερωτήματος εμφανίζεται σε ένα πίνακα όμοιο με την Προβολή δεδομένων προέλευσης. Σημείωση: Ο πίνακας που εμφανίζεται είναι μόνο προσωρινός.

Πλήκτρα στην προβολή σχεδίασης ερωτήματος

Πλήκτρο

Συνάρτηση

F4

Προεπισκόπηση

F5

Εκτέλεση ερωτήματος

F7

Προσθήκη πίνακα ή ερωτήματος


Εξερεύνηση

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

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

Εικονίδιο σημείωσης

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


Αφαίρεση πινάκων

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

Μετακίνηση πίνακα και αλλαγή μεγέθους του

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

Σχέσεις πινάκων

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

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

Για να το κάνετε αυτό, πατήστε σε ένα όνομα πεδίου στον πίνακα (παραδείγματος χάρη, το όνομα πεδίου "Αριθμός-Αντικειμένου" από τον πίνακα Πελατών), κρατήστε πατημένο το πλήκτρο του ποντικιού και μετά σύρετε το όνομα του πεδίου στο όνομα πεδίου του άλλου πίνακα (" Αριθμός-Αντικειμένου" από τον πίνακα αντικειμένων). Όταν αφήσετε το κουμπί του ποντικιού, θα εμφανιστεί μια γραμμή που θα ενώνει τα δύο πεδία στα δύο παράθυρα. Η αντίστοιχη συνθήκη που εισέρχεται στο τελικό ερώτημα SQL από τα δύο ονόματα πεδίου πρέπει να είναι ταυτόσημη.

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

Εικονίδιο σημείωσης

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


Ορισμός τύπου σύνδεσης

Εάν διπλοπατήσετε στη γραμμή που ενώνει δύο συνδεδεμένα πεδία ή καλέσετε την εντολή μενού Εισαγωγή - Νέα Σχέση, μπορείτε να ορίσετε τον τύπο της σύνδεσης στον διάλογο :Σχέσεις.

Εναλλακτικά, πιέστε το πλήκτρο Tab μέχρι να επιλεγεί η γραμμή, ύστερα πιέστε τον συνδυασμό Shift+F10 για να εμφανιστεί το μενού περιβάλλοντος και εκεί επιλέξτε την εντολή Επεξεργασία. Μερικές βάσεις δεδομένων υποστηρίζουν μόνο ένα υποσύνολο από δυνατούς τύπους ένωσης.

Διαγραφή σχέσεων

Για να διαγράψετε μια σχέση μεταξύ δύο πινάκων, πατήστε στη γραμμή σύνδεσης και στη συνέχεια πατήστε το πλήκτρο Delete.

Εναλλακτικά, διαγράψτε τις αντίστοιχες καταχωρίσεις στο Εμπλεκόμενα Πεδία στον διάλογο Σχέσεις. Ή πατήστε το πλήκτρο Tab μέχρι το διάνυσμα σύνδεσης να εμφανιστεί επισημασμένο, μετά πατήστε τον συνδυασμό πλήκτρων Shift+F10 για να ανοίξει το μενού περιβάλλοντος και επιλέξτε την εντολή Διαγραφή.

Ορισμός ερωτήματος

Επιλέξτε τις συνθήκες για να ορίσετε το ερώτημα. Κάθε στήλη του πίνακα σχεδίασης δέχεται ένα πεδίο δεδομένων για το ερώτημα. Οι συνθήκες σε μια σειρά είναι συνδεδεμένες με ένα λογικό ΚΑΙ.

Ορισμός ονόματος πεδίου

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

Διαγραφή ονομάτων πεδίου

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

Αποθήκευση ερωτήματος

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

Σχήμα

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

Όνομα ερωτήματος ή όνομα προβολής πίνακα

Εισαγάγετε το όνομα του ερωτήματος ή της προβολής πίνακα.

Φιλτράρισμα δεδομένων

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

Πεδίο

Εισάγετε το όνομα του πεδίου δεδομένων στο οποίο αναφερθήκατε στο ερώτημα. Όλες οι ρυθμίσεις που έγιναν στις κατώτερες γραμμές αναφέρονται σε αυτό το πεδίο. Εάν ενεργοποιήσετε το κελί με πάτημα του ποντικιού θα δείτε ένα πλήκτρο με βέλος το οποίο σας επιτρέπει να επιλέξετε ένα πεδίο. Η επιλογή "Table name.*" επιλέγει όλα τα πεδία δεδομένων και τα κριτήρια είναι έγκυρα για όλα τα πεδία του πίνακα.

Ψευδώνυμο

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

Στις δηλώσεις SQL, τα ψευδώνυμα ορίζονται ως εξής:

SELECT στήλη AS ψευδώνυμο FROM πίνακας.

Παραδείγματος χάρη:

SELECT "ΑρΠαρ" AS "ΑριθμΠαρτίδας" FROM "Παρτίδες"

Πίνακας

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

Ταξινόμηση

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

Ορατό

Εάν σημειώσετε την ιδιότητα Ορατό για ένα πεδίο δεδομένων, αυτό το πεδίο θα είναι ορατό στο ερώτημα. Εάν χρησιμοποιήσετε μόνο ένα πεδίο δεδομένων για να διατυπώσετε μια συνθήκη, δεν είναι απαραίτητο να φαίνεται αυτό το πεδίο.

Κριτήρια

Ορίζει τα κριτήρια με τα οποία θα φιλτράρονται τα περιεχόμενα των πεδίων δεδομένων .

ή

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

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

Συναρτήσεις

Οι συναρτήσεις που μπορείτε να τρέξετε εδώ εξαρτώνται από την βάση δεδομένων.

Αν εργάζεστε με τη βάση δεδομένων HSQL, το πεδίο της λίστας στη γραμμή Συνάρτηση σας παρέχει τις ακόλουθες επιλογές:

Επιλογή

SQL

Αποτέλεσμα

Καμία συνάρτηση

Δεν θα εκτελεστεί καμία συνάρτηση.

Μέσος όρος

AVG

Υπολογίζει τον αριθμητικό μέσο όρο του πεδίου.

Καταμέτρηση

COUNT

Προσδιορίζει τον αριθμό των εγγραφών του πίνακα. Για τα κενά πεδία μπορείτε είναι να καταμετρηθούν (a) είτε όχι (b).

a) COUNT(*): Μεταβιβάζοντας έναν αστερίσκος ως το όρισμα μετράει όλες τις εγγραφές στον πίνακα.

b) COUNT(στήλη): Μεταβιβάζοντας ένα όνομα πεδίου ως όρισμα μετράει μόνο τα πεδία στα οποία το όνομα πεδίου στο ερώτημα περιέχει μια τιμή. Οι μηδενικές τιμές (κενά πεδία) δεν υπολογίζονται.

Μέγιστο

MAX

Προσδιορίζει την ανώτατη τιμή ενός πεδίου.

Ελάχιστο

MIN

Προσδιορίζει την κατώτατη τιμή ενός πεδίου.

Άθροισμα

SUM

Υπολογίζει το άθροισμα των τιμών των συσχετισμένων πεδίων.

Ομαδοποίηση

GROUP BY

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


Μπορείτε, επίσης, να εισαγάγετε κλήσεις συναρτήσεων απευθείας στην πρόταση SQL. Η σύνταξη είναι:

SELECT FUNCTION(στήλη) FROM πίνακας.

Παραδείγματος χάρη, η κλήση συνάρτησης στην SQL για τον υπολογισμό ενός αθροίσματος είναι:

SELECT SUM("Τιμή") FROM "Αντικείμενο".

Εκτός από τη συνάρτηση Ομάδα, οι παραπάνω συναρτήσεις καλούνται επίσης συγκεντρωτικές συναρτήσεις. Αυτές είναι συναρτήσεις που υπολογίζουν δεδομένα για να δημιουργήσουν συνόψεις από τα αποτελέσματα. Πρόσθετες συναρτήσεις που δεν κατηγοριοποιούνται στο πλαίσιο του καταλόγου ενδεχομένως να είναι δυνατές. Αυτές εξαρτώνται από το συγκεκριμένο σύστημα της χρησιμοποιούμενης βάσης δεδομένων και την τρέχουσα κατάσταση του οδηγού Base.

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

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

Η αντίστοιχη συνάρτηση σε μια πρόταση SQL είναι:

SELECT FUNCTION() AS ψευδώνυμο FROM πίνακας

Παράδειγμα:

SELECT COUNT(*) AS πλήθος FROM "Αντικείμενο"

Εικονίδιο σημείωσης

Εάν εκτελέσετε αυτήν τη συνάρτηση, δεν θα μπορείτε να εισαγάγετε πρόσθετες στήλες για το ερώτημα, παρά μόνο να δεχθείτε τις στήλες ως συνάρτηση "Group".


Παραδείγματα

Στο παράδειγμα που ακολουθεί, ένα ερώτημα εκτελείται σε δύο πίνακες: τον πίνακα "Αντικείμενο" με το πεδίο "Κωδ._Αντικειμένου" και τον πίνακα "Προμηθευτές" με το πεδίο "Όνομα_προμηθευτή". Επιπλέον και οι δύο πίνακες έχουν κοινό όνομα πεδίου το "Κωδ._προμηθευτή."

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

  1. Εισαγάγετε τους πίνακες "Αντικείμενο" και "Προμηθευτές" στη σχεδίαση του ερωτήματος.

  2. Συνδέστε τα πεδία "Κωδ._προμηθευτή" των δύο πινάκων, εάν δεν υφίσταται ήδη μια σχέση αυτού του τύπου.

  3. Διπλοπατήστε στο πεδίο "Κωδ._αντικειμένου" από τον πίνακα "Αντικείμενο". Εμφανίστε τη γραμμή Συνάρτηση, χρησιμοποιώντας το μενού περιβάλλοντος και επιλέξτε τη συνάρτηση Count.

  4. Εισαγάγετε ως κριτήριο >3 και απενεργοποιήστε το ορατό πεδίο.

  5. Διπλοπατήστε στο πεδίο "Όνομα_προμηθευτή" του πίνακα "Προμηθευτές" και επιλέξτε τη συνάρτηση Group.

  6. Εκτελέστε το ερώτημα.

Εάν τα πεδία "Τιμή" (για την μεμονωμένη τιμή ενός αντικειμένου) και "Κωδ.προμηθευτή" (για τον προμηθευτή του είδους) υπάρχουν στον πίνακα "Αντικείμενο", μπορείτε να λάβετε τη μέση τιμή του είδους που παρέχει ένας προμηθευτής με το εξής ερώτημα:

  1. Εισαγάγετε τον πίνακα "Αντικείμενο" στη σχεδίαση του ερωτήματος.

  2. Διπλοπατήστε στα πεδία "Τιμή" και "Κωδ._προμηθευτή".

  3. Ενεργοποιήστε τη γραμμή Συνάρτηση και επιλέξτε τη συνάρτηση Average από το πεδίο "Τιμή".

  4. Μπορείτε, επίσης, να εισαγάγετε "Average" στη γραμμή για το όνομα του ψευδωνύμου (χωρίς τα εισαγωγικά).

  5. Επιλέξτε Group για το πεδίο "Κωδ._προμηθευτή".

  6. Εκτελέστε το ερώτημα.

Οι παρακάτω εντολές μενού περιβάλλοντος και τα σύμβολα είναι διαθέσιμες :

Συναρτήσεις

Εμφανίζει ή κρύβει μια γραμμή για επιλογή των συναρτήσεων.

Όνομα πίνακα

Εμφανίζει ή αποκρύπτει τη γραμμή για το όνομα του πίνακα.

Όνομα ψευδωνύμου

Εμφανίζει ή αποκρύπτει τη γραμμή για το όνομα του ψευδωνύμου.

Διακριτές τιμές

Εφαρμόζει μόνο διακριτές τιμές στο ερώτημα. Αυτό εφαρμόζεται σε εγγραφές που περιέχουν δεδομένα τα οποία εμφανίζονται αρκετές φορές στα επιλεγμένα πεδία. Αν η εντολή Διακριτές τιμές είναι ενεργή, θα δείτε μόνο μία εγγραφή στο ερώτημα (DISTINCT). Ειδάλλως, θα δείτε όλες τις εγγραφές που αντιστοιχούν στα κριτήρια του ερωτήματος (ALL).

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

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

Στην SQL, αυτή η εντολή αντιστοιχεί στο κατηγόρημα DISTINCT.

Όριο

Επιτρέπει τη μεγιστοποίηση του αριθμού των εγγραφών που επιστρέφει το ερώτημα.

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

Διατύπωση των συνθηκών φιλτραρίσματος

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

Τελεστής

Σημαίνει

Η συνθήκη ικανοποιείται εάν...

=

ισούται με

... το περιεχόμενο του πεδίου είναι ταυτόσημο με την εμφανιζόμενη έκφραση.

Ο τελεστής = δεν θα εμφανίζεται στα πεδία του ερωτήματος. Εάν εισαγάγετε μια τιμή χωρίς τελεστή, ο τελεστής = θα επιλεγεί αυτόματα .

<>

δεν ισούται με

... το περιεχόμενο του πεδίου δεν αντιστοιχεί στην καθορισμένη παράσταση.

>

μεγαλύτερο από

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

<

μικρότερο από

... το περιεχόμενο του πεδίου είναι μικρότερο από την καθορισμένη παράσταση.

>=

μεγαλύτερο από ή ίσο με

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

<=

μικρότερο από ή ίσο με

... το περιεχόμενο του πεδίου είναι μικρότερο από ή ίσο με την καθορισμένη παράσταση.


εντολή του LibreOffice

Εντολή SQL

Σημαίνει

Η συνθήκη ικανοποιείται εάν...

IS EMPTY

IS NULL

είναι κενή

... Η τιμή του πεδίου είναι κενή. Για τα πεδία Ναι/Όχι με τρεις καταστάσεις, αυτή η εντολή ελέγχει αυτόματα τη μη προσδιορισμένη κατάσταση (ούτε Ναι ούτε Όχι).

IS NOT EMPTY

IS NOT NULL

δεν είναι κενό

... το όνομα πεδίου δεν είναι κενό.

LIKE

(δεσμευτικό θέσης * για οποιονδήποτε αριθμό χαρακτήρων

δεσμευτικό θέσης ? για ακριβώς έναν χαρακτήρα)

LIKE

(δεσμευτικό θέσης % για οποιονδήποτε αριθμό χαρακτήρων

δεσμευτικό θέσης _ για ακριβώς έναν χαρακτήρα)

είναι στοιχείο του

... το πεδίο δεδομένων περιέχει την εμφανιζόμενη παράσταση. Το δεσμευτικό θέσης (*) υποδεικνύει αν η παράσταση x εμφανίζεται στην αρχή του (x*), στο τέλος του (*x) ή μέσα στο περιεχόμενο του πεδίου (*x*). Στη διεπαφή του LibreOffice μπορείτε να εισάγετε ως δεσμευτικό θέσης στα ερωτήματα SQL, είτε τον χαρακτήρα % της SQL, είτε το οικείο σας δεσμευτικό θέσης συστήματος αρχείου (*).

Το δεσμευτικό θέσης * ή % σημαίνει οποιονδήποτε αριθμό χαρακτήρων. Το ερωτηματικό (?) στη διεπαφή του LibreOffice ή ο χαρακτήρας υπογράμμισης (_) σε ερωτήματα της SQL χρησιμοποιούνται για την ακριβή αναπαράσταση ενός χαρακτήρα.

NOT LIKE

NOT LIKE

δεν είναι στοιχείο του

... το όνομα πεδίου δεν περιέχει την καθορισμένη παράσταση.

BETWEEN x AND y

BETWEEN x AND y

βρίσκεται στο διάστημα [x,y]

... το όνομα του πεδίου περιέχει μια τιμή που βρίσκεται μεταξύ των τιμών x και y.

BETWEEN x AND y

BETWEEN x AND y

Δεν βρίσκεται στο διάστημα [x,y]

... το όνομα του πεδίου περιέχει μια τιμή που δεν περιλαμβάνεται μεταξύ των τιμών x και y.

IN (a; b; c...)

Σημειώστε ότι το ; χρησιμοποιείται ως διαχωριστικό σε όλους τους καταλόγους τιμών!

IN (a, b, c...)

περιέχει τα a, b, c...

... το όνομα του πεδίου περιέχει μία από τις καθορισμένες παραστάσεις a, b, c,... Μπορείτε να καθορίσετε οποιονδήποτε αριθμό παραστάσεων και το αποτέλεσμα του ερωτήματος θα ορίζεται από μια σύνδεση Or. Οι παραστάσεις a, b, c... μπορεί να είναι αριθμοί ή χαρακτήρες

NOT IN (a; b; c...)

NOT IN (a, b, c...)

δεν περιέχει τα a, b, c...

.. το όνομα του πεδίου δεν περιέχει μία από τις καθορισμένες παραστάσεις a, b, c,...

= TRUE

= TRUE

έχει τιμή True

... το όνομα του πεδίου έχει την τιμή True.

= FALSE

= FALSE

έχει την τιμή false

... το όνομα του πεδίου έχει την τιμή false.


Παραδείγματα

='Κα'

επιστρέφει τα ονόματα των πεδίων με περιεχόμενο πεδίου "Κα"

<'10-01-2001'

επιστρέφει τις ημερομηνίες πριν τις 10 Ιανουαρίου 2001

LIKE 'κα?ό'

επιστρέφει τα ονόματα των πεδίων με περιεχόμενο πεδίου όπως "καλό" και "κακό"

LIKE 'Φ*'

επιστρέφει τα πεδία δεδομένων με περιεχόμενο πεδίου όπως το "Φως".

BETWEEN 10 AND 20

επιστρέφει τα ονόματα των πεδίων με περιεχόμενο πεδίου μεταξύ των τιμών 10 και 20. (Τα πεδία μπορεί να είναι πεδία κειμένου ή αριθμητικά πεδία).

IN (1; 3; 5; 7)

επιστρέφει τα ονόματα των πεδίων με τις τιμές 1, 3, 5, 7. Εάν το όνομα του πεδίου περιέχει τον αριθμό ενός αντικειμένου, παραδείγματος χάρη, μπορείτε να δημιουργήσετε ένα ερώτημα, το οποίο θα επιστρέφει το αντικείμενο με τον καθορισμένο αριθμό.

NOT IN ('Παπαδόπουλος')

επιστρέφει τα ονόματα των πεδίων που δεν περιέχουν το "Παπαδόπουλος".


Like Escape Sequence: {escape 'escape-character'}

Παράδειγμα: Επιλέξτε * από αντικείμενα με όνομα του αντικειμένου όπως 'Το *%' {escape '*'}

Το παράδειγμα αυτό σας παρέχει όλες τις καταχωρήσεις όπου το όνομα του αντικειμένου ξεκινά με 'Το *'. Αυτό σημαίνει ότι μπορείτε επίσης να αναζητάτε χαρακτήρες που σε άλλη περίπτωση θα ερμηνευόντουσαν ως δεσμευτικά θέσης, όπως τα *, ?, _, % ή η τελεία.

Outer Join Escape Sequence: {oj outer-join}

Παράδειγμα: select Article.* from {oj item LEFT OUTER JOIN orders ON item.no=orders.ANR}

Ερωτήματα πεδίων κειμένου

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

Ερωτήματα για πεδία ημερομηνίας

Τα Πεδία ημερομηνίας αναπαριστάνονται ως #Date# για τον σαφή καθορισμό τους ως ημερομηνίες. Οι σταθερές ημερομηνίας, ώρας και ημερομηνίας/ώρας (κυριολεκτικές) που χρησιμοποιούνται στις συνθήκες μπορούν να είναι είτε του τύπου σύνταξης SQL Escape, ή της προεπιλεγμένης σύνταξης SQL2.

Στοιχείο τύπου ημερομηνίας

Η σύνταξη #1 του SQL Escape - μπορεί να είναι κατηργημένη

Η σύνταξη #2 του SQL Escape

Σύνταξη SQL2

Ημερομηνία

{D'YYYY-MM-DD'}

{d 'YYYY-MM-DD'}

'YYYY-MM-DD'

Ώρα

{D'HH:MM:SS'}

{t 'HH:MI:SS[.SS]'}

'HH:MI:SS[.SS]'

ΗμερομηνίαΏρα

{D'YYYY-MM-DD HH:MM:SS'}

{ts 'YYYY-MM-DD HH:MI:SS[.SS]'}

'YYYY-MM-DD HH:MI:SS[.SS]'


Παράδειγμα: select {d '1999-12-31'} από world.years

Παράδειγμα: επιλέξτε * από τον πινακαμου όπου τα έτη='1999-12-31'

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

Ερωτήματα με πεδία Ναι/Όχι

Για να δημιουργήσετε ερωτήματα με πεδία Ναι/Όχι, χρησιμοποιήστε την ακόλουθη σύνταξη για πίνακες dBASE:

Κατάσταση

Κριτήριο ερωτήματος

Παράδειγμα

Ναι

για πίνακες dBASE: άνιση με οποιαδήποτε δοθείσα τιμή

Το =1 επιστρέφει όλες τις εγγραφές όπου το πεδίο Ναι/Όχι βρίσκεται στην κατάσταση "Ναι" ή "Ενεργό" (επιλεγμένο με μαύρο),

Όχι

.

Το =0 επιστρέφει όλες τις εγγραφές για τις οποίες το πεδίο Ναι/Όχι βρίσκεται στην κατάσταση "Όχι" ή "Ανενεργό" (χωρίς επιλογή).

Κενό

IS NULL

Το IS NULL επιστρέφει όλες τις εγγραφές για τις οποίες το πεδίο Ναι/Όχι δεν έχει καμία από τις καταστάσεις Ναι ή Όχι (επιλεγμένες με γκρι).


Εικονίδιο σημείωσης

Η σύνταξη εξαρτάται από το χρησιμοποιούμενο σύστημα της βάσης δεδομένων. Θα πρέπει να σημειώσετε επίσης ότι τα πεδία Ναι/Όχι μπορούν να οριστούν διαφορετικά (μόνο 2 καταστάσεις αντί για 3).


Παραμετρικά ερωτήματα

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

Τα παραμετρικά ερωτήματα εισάγονται με διπλή τελεία-colon και στις δυο προβολές σχεδίασης και SQL ενός ερωτήματος. Αυτά μπορούν να χρησιμοποιηθούν οπουδήποτε μπορεί να εφαρμοστεί μια τιμή. Αν η ίδια τιμή πρόκειται να εμφανιστεί περισσότερες από μια φορά στο ερώτημα, χρησιμοποιείται το ίδιο παραμετρικό όνομα.

Στην πιο απλή περίπτωση, όπου ο χρήστης εισάγει μια τιμή που συμφωνεί με ισότητα, το παραμετρικό όνομα με την προηγούμενη διπλή τελεία-colon εισάγεται απλά στη γραμμή κριτηρίων. Στην κατάσταση SQL αυτό πρέπει να πληκτρολογηθεί ως WHERE "Field" = :Parameter_name

Εικονίδιο προειδοποίησης

Τα παραμετρικά ονόματα δεν πρέπει να περιέχουν οποιονδήποτε από τους χαρακτήρες <space>`!"$%^*()+={}[]@'~#<>?/,. Δεν μπορούν να είναι τα ίδια με τα ονόματα πεδίων ή τις κρατημένες λέξεις του SQL. Μπορούν να είναι τα ίδια με ψευδώνυμα.


Εικονίδιο συμβουλής

Μια χρήσιμη δόμηση για επιλογή καταχωρίσεων με βάση τμήματα περιεχομένου ενός πεδίου κειμένου είναι να προσθέσετε μια κρυφή στήλη με το "LIKE '%' || :Part_of_field || '%'" ως κριτήριο. Αυτό θα επιλέξει τις εγγραφές με ακριβή συμφωνία. Αν επιθυμείτε έλεγχο δοκιμής μη διάκρισης πεζών-κεφαλαίων, μια λύση είναι η χρήση του LOWER (Field_Name) ως πεδίου και του LIKE LOWER ( '%' || :Part_of_field || '%' ) ως κριτηρίου. Σημειώστε ότι τα κενά στο κριτήριο είναι σημαντικά· αν παραληφθούν, ο αναλυτής SQL ερμηνεύει το συνολικό κριτήριο ως μια συμβολοσειρά προς συμφωνία. Στην κατάσταση SQL αυτό πρέπει να πληκτρολογηθεί ως LOWER ( "Field_Name" ) LIKE LOWER ( '%' || :Part_of_field || '%' ).


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

Εισαγωγή παραμέτρων

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

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

Εικονίδιο συμβουλής

Ο χρήστης μπορεί να χρησιμοποιήσει τους χαρακτήρες υποκατάστασης θέσης της SQL "%" (τυχαία συμβολοσειρά) ή "_" (τυχαίος μοναδικός χαρακτήρας) ως τμήμα της τιμής για να ανακτήσει εγγραφές με πιο σύνθετα κριτήρια.


Κατάσταση SQL

SQL σημαίνει "Structured Query Language" και περιγράφει οδηγίες για ενημέρωση και διαχείριση σχεσιακών βάσεων δεδομένων.

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

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

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

Πατώντας στο εικονίδιο Εκτέλεση άμεσης εντολής SQL στην προβολή της SQL, μπορείτε να σχηματίσετε ένα ερώτημα που δεν επεξεργάζεται από το LibreOffice.