Ερωτήματα SQL με ALL, TOP, DISTINCT, DISTINCTROW Predicate

  • Jul 26, 2021
click fraud protection

Το predicate περιλαμβάνεται μεταξύ του όρου και του πρώτου ονόματος του πεδίου που θα ανακτήσει, τα πιθανά predicates είναι:

  • ΟΛΑ: Επιστρέφει όλα τα πεδία στον πίνακα
  • ΜΠΛΟΥΖΑ: Επιστρέφει έναν συγκεκριμένο αριθμό εγγραφών από τον πίνακα
  • ΔΙΑΚΡΙΤΗ: Παράλειψη εγγραφών των οποίων τα επιλεγμένα πεδία ταιριάζουν απόλυτα
  • ΑΠΟΣΤΑΣΗ: Παράλειψη διπλών εγγραφών με βάση ολόκληρη την εγγραφή και όχι μόνο τα επιλεγμένα πεδία.

ΟΛΑ (* μπορεί να χρησιμοποιηθεί αντ 'αυτού):

Διαφημίσεις

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

Διαφημίσεις

ΕΠΙΛΟΓΗ ΟΛΩΝ ΑΠΟ Υπαλλήλους;

ΕΠΙΛΕΓΩ * DESDE Υπαλλήλους;

Διαφημίσεις

ΜΠΛΟΥΖΑ

Επιστρέφει έναν συγκεκριμένο αριθμό εγγραφών που εμπίπτουν στην αρχή ή στο τέλος ενός εύρους που καθορίζεται από τον όρο ORDER BY. Ας υποθέσουμε ότι θέλουμε να ανακτήσουμε τα ονόματα των πρώτων 25 μαθητών του ακαδημαϊκού έτους 1994:

Διαφημίσεις

- ΕΠΙΛΕΞΤΕ Κορυφή 25 Όνομα, Επώνυμο DESDE Φοιτητές

- ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ Σημείωση ΠΕΡΙΓΡΑΦΗ;

Διαφημίσεις

Εάν η ρήτρα δεν περιλαμβάνεται ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ, το ερώτημα θα επιστρέψει ένα αυθαίρετο σύνολο 25 εγγραφών από τον πίνακα μαθητών ΜΠΛΟΥΖΑ δεν επιλέγει μεταξύ ίσων τιμών. Στο παραπάνω παράδειγμα, εάν ο μέσος όρος 25ης και 26ης τάξης είναι ίσος, το ερώτημα θα επιστρέψει 26 εγγραφές. Μπορείτε να χρησιμοποιήσετε την δεσμευμένη λέξη ΤΟΙΣ ΕΚΑΤΟ για να επιστρέψετε ένα συγκεκριμένο ποσοστό εγγραφών που εμπίπτουν στην αρχή ή στο τέλος ενός εύρους που καθορίζεται από τον όρο ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ. Ας υποθέσουμε ότι αντί για τους πρώτους 25 μαθητές θέλουμε το 10% των μαθημάτων:

- ΕΠΙΛΕΞΤΕ Κορυφή 10 ΤΟΙΣ ΕΚΑΤΟ Επώνυμο επώνυμο DESDE Φοιτητές ΤΑΞΙΝΟΜΗΣΗ ΚΑΤΑ Σημείωση ΠΕΡΙΓΡΑΦΗ;

Η τιμή που ακολουθεί ΜΠΛΟΥΖΑ πρέπει να είναι ένας μη υπογεγραμμένος ακέραιος.ΜΠΛΟΥΖΑ δεν επηρεάζει την πιθανή ενημέρωση του ερωτήματος.

ΔΙΑΚΡΙΤΗ

Παράλειψη των εγγραφών που περιέχουν διπλά δεδομένα στα επιλεγμένα πεδία. Έτσι ώστε οι τιμές κάθε πεδίου που αναφέρονται στη δήλωση ΕΠΙΛΕΓΩ που περιλαμβάνεται στο ερώτημα πρέπει να είναι μοναδικό.

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

- ΕΠΙΛΟΓΗ ΑΠΟΣΤΑΣΗΣ Επίθετο DESDE Υπαλλήλους;

Με άλλα λόγια το κατηγορηματικό ΔΙΑΚΡΙΤΗ επιστρέφει εκείνες τις εγγραφές των οποίων τα πεδία αναφέρονται στην ενότητα ΕΠΙΛΕΓΩ έχουν διαφορετικό περιεχόμενο. Το αποτέλεσμα ενός ερωτήματος που χρησιμοποιεί ΔΙΑΚΡΙΤΗ Δεν μπορεί να αναβαθμιστεί και δεν αντικατοπτρίζει τις μεταγενέστερες αλλαγές που έγιναν από άλλους χρήστες.

ΑΠΟΣΤΑΣΗ

Επιστρέφει τις διαφορετικές εγγραφές από έναν πίνακα. Σε αντίθεση με την προηγούμενη κατηγορία που εξέτασε μόνο το περιεχόμενο των επιλεγμένων πεδίων, το κάνει στο περιεχόμενο της πλήρους εγγραφής ανεξάρτητα από τα πεδία που αναφέρονται στο ρήτρα ΕΠΙΛΕΓΩ.

- ΕΠΙΛΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ Επίθετο DESDE Υπαλλήλους;

Εάν ο πίνακας υπαλλήλων περιέχει δύο εγγραφές: Antonio López και Marta López, το παράδειγμα της κατηγορίας ΔΙΑΚΡΙΤΗ επιστρέφει μια μεμονωμένη εγγραφή με την τιμή Lopez στο πεδίο Επώνυμο, καθώς δεν αναζητά διπλότυπα σε αυτό το πεδίο. Αυτό το τελευταίο παράδειγμα επιστρέφει δύο εγγραφές με την τιμή Lopez στο επώνυμο καθώς αναζητούνται μη διπλότυπα σε ολόκληρη την εγγραφή.

instagram viewer