Βασική διαφορά: Και οι δύο, 'Έχοντας' και 'Που' είναι ρήτρες που μπορούν να χρησιμοποιηθούν στην SQL. Η ρήτρα «Όταν» εφαρμόζεται πρώτα στις επιμέρους σειρές των πινάκων, με τις οποίες οι σειρές που πληρούν τις προϋποθέσεις της ρήτρας ομαδοποιούνται. Στη συνέχεια εφαρμόζεται η ρήτρα 'Έχοντας' στις γραμμές στο σύνολο αποτελεσμάτων. Οι ομάδες που πληρούν τις προϋποθέσεις της ρήτρας "Έχοντας" εμφανίζονται στην έξοδο του ερωτήματος.
Τόσο το 'Having' όσο και το 'Where' είναι ρήτρες που μπορούν να χρησιμοποιηθούν στην SQL. Η SQL είναι μια γλώσσα προγραμματισμού ειδικού σκοπού που έχει σχεδιαστεί για τη διαχείριση δεδομένων σε συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων (RDBMS). Έχει τις ακόλουθες λειτουργίες:
- Εισαγωγή δεδομένων,
- Ενημέρωση και διαγραφή,
- Πρόσβαση και έλεγχος και
- Έλεγχος και τροποποίηση σχήματος.
Υποδιαιρείται σε στοιχεία, όπως:
- Εκφράσεις
- Πρόβλεψη
- Ερωτήματα
- Δηλώσεις
- Ρήτρες
Οι ρήτρες της SQL περιλαμβάνουν:
- Ρήτρα περιορισμού
- Για ρήτρα ενημέρωσης
- Από τη ρήτρα
- Ομάδα με ρήτρα
- Διάταξη με ρήτρα
- Όπου ισχύει ρήτρα
- Έχοντας ρήτρα
- Όπου ρήτρα
Το "Έχοντας" και "Πού" είναι μόνο δύο από αυτές τις πολλές ρήτρες. Οι δηλώσεις στη SQL μπορούν να εκτελεστούν με την ακόλουθη σειρά:
- Από τη ρήτρα
- WHERE ρήτρα
- GROUP BY clause
- HAVING ρήτρα
- Ρύθμιση SELECT
- ΡΥΘΜ
Η ρήτρα 'Έχοντας' χρησιμοποιείται μόνο με τη δήλωση 'Select' και μετά τη ρήτρα 'Group By'. Εντούτοις, η ρήτρα «Where» μπορεί να χρησιμοποιηθεί με δήλωση διαφορετική από τη δήλωση 'Select'. Ωστόσο, χρησιμοποιείται πριν από τη ρήτρα «Όμιλος By». Εάν, σε περίπτωση, δεν χρησιμοποιείται η ρήτρα "Ομάδας By", τότε η ρήτρα 'Έχοντας' συμπεριφέρεται σαν μια ρήτρα 'Where'.
Η ρήτρα «Όταν» εφαρμόζεται πρώτα στις επιμέρους σειρές των πινάκων, με τις οποίες οι σειρές που πληρούν τις προϋποθέσεις της ρήτρας ομαδοποιούνται. Στη συνέχεια εφαρμόζεται η ρήτρα 'Έχοντας' στις γραμμές στο σύνολο αποτελεσμάτων. Οι ομάδες που πληρούν τις προϋποθέσεις της ρήτρας "Έχοντας" εμφανίζονται στην έξοδο του ερωτήματος.
Η ρήτρα 'Έχοντας' χρησιμοποιείται για να φιλτράρει τις εγγραφές που επιστρέφονται από μια ομάδα με ρήτρα που χρησιμοποιεί ένα πρόβατο. Χρησιμοποιώντας τη ρήτρα 'Έχοντας', τα αποτελέσματα μιας ρήτρας 'Group By' μπορούν να περιοριστούν και μόνο οι καθορισμένες σειρές είναι επιλεγμένες.
Εντούτοις, η ρήτρα 'Where' χρησιμοποιείται για την επιλογή σειρών που θα συμπεριληφθούν στο ερώτημα. Η ρήτρα χρησιμοποιεί ένα κατηγόρημα σύγκρισης που βασίζεται στους ακόλουθους χειριστές: = ή ίσο, ή όχι ίσο, > ή μεγαλύτερο από, = ή μεγαλύτερο ή ίσο, <= ή μικρότερο ή ίσο, μεταξύ, όπως και μέσα. 'εξαιρεί τις σειρές που δεν πληρούν τις απαιτήσεις που ορίζονται από το ερώτημα.
Χρησιμοποιείται η ρήτρα «Όπου» επιλέξτε μεμονωμένες σειρές σε έναν πίνακα που καθορίζεται σε μια ρήτρα «Από». Χρησιμοποιείται για την ανάκτηση συγκεκριμένων πληροφοριών από έναν πίνακα, εξαιρώντας άλλα άσχετα δεδομένα. Κάνοντας αυτό τείνει να αυξήσει το χρόνο επεξεργασίας για το ερώτημα.