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

έχοντας περιγραφή sql

Αναμφισβήτητα, η δυνατότητα ομαδοποίησης δεδομένων μεη δειγματοληψία τους από ένα συγκεκριμένο χαρακτηριστικό είναι ένα τέτοιο εργαλείο. Η εντολή SQL HAVING, μαζί με τη ρήτρα WHERE, σας επιτρέπει να ορίσετε τις συνθήκες δειγματοληψίας για δεδομένα που έχουν ήδη ταξινομηθεί με κάποιο τρόπο.

HAVING παράμετρο SQL: περιγραφή

Πρώτα απ 'όλα, πρέπει να σημειωθεί ότι αυτή η παράμετροςείναι προαιρετική και χρησιμοποιείται αποκλειστικά σε συνδυασμό με την παράμετρο GROUP BY. Όπως θυμάστε, το GROUP BY χρησιμοποιείται όταν το SELECT χρησιμοποιεί συγκεντρωτικές λειτουργίες και τα αποτελέσματα των υπολογισμών τους πρέπει να λαμβάνονται από ορισμένες ομάδες. Αν το WHERE σας επιτρέπει να ορίσετε τις προϋποθέσεις για μια επιλογή πριν ομαδοποιηθούν τα δεδομένα, το HAVING περιέχει τις συνθήκες που αφορούν τα δεδομένα που υπάρχουν ήδη στις ίδιες τις ομάδες. Για μια καλύτερη κατανόηση, ας ρίξουμε μια ματιά στο παράδειγμα με το διάγραμμα που φαίνεται στο παρακάτω σχήμα.

sql έχει

Αυτό είναι ένα καλό παράδειγμα, δίνοντας μια περιγραφή HAVING SQL. Δίνεται ένας πίνακας με μια λίστα με τα ονόματα των προϊόντων, τις εταιρείες που τα παράγουν και με μερικά άλλα πεδία. Στο ερώτημα στην επάνω δεξιά γωνία προσπαθούμε να λάβουμε πληροφορίες για το πόσα ονόματα προϊόντων παράγει κάθε εταιρεία, ενώ θέλουμε να βγάλουμε μόνο εκείνες τις εταιρείες που παράγουν περισσότερους από 2 τίτλους. Η παράμετρος GROUP BY σχημάτισε τρεις ομάδες που αντιστοιχούσαν στα ονόματα των εταιρειών, για κάθε μία από τις οποίες υπολογίστηκε ο αριθμός των προϊόντων (σειρές). Αλλά η παράμετρος HAVING από την κατάστασή της αποκόπτει μια ομάδα από το προκύπτον δείγμα, επειδή δεν ικανοποιούσε την κατάσταση. Ως αποτέλεσμα, έχουμε δύο ομάδες, που αντιστοιχούν σε εταιρείες με τον αριθμό των προϊόντων 5 και 3.

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

sql με συντακτικά παραδείγματα

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

Παράμετρος SQL HAVING: παραδείγματα, σύνταξη

Ας εξετάσουμε ορισμένα χαρακτηριστικά της σύνταξηςHAVING SQL. Η περιγραφή αυτής της παραμέτρου είναι πολύ απλή. Πρώτον, όπως έχει ήδη αναφερθεί, χρησιμοποιείται αποκλειστικά σε συνδυασμό με την παράμετρο GROUP BY και καθορίζεται αμέσως μετά και πριν από την εντολή ORDER BY, αν υπάρχει μία στο ερώτημα. Είναι κατανοητό, αφού το HAVING ορίζει τις προϋποθέσεις για τα ήδη ομαδοποιημένα δεδομένα. Δεύτερον, στην κατάσταση αυτής της παραμέτρου, μπορείτε να χρησιμοποιήσετε μόνο τις συναρτήσεις και τα πεδία που καθορίζονται στην παράμετρο GROUP BY. Όλες οι συνθήκες αυτής της παραμέτρου καθορίζονται ακριβώς με τον ίδιο τρόπο όπως στην περίπτωση του WHERE.

Συμπέρασμα

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