Ključna razlika: Oba, 'Imajući' i 'Gdje' su klauzule koje se mogu koristiti u SQL-u. Klauzula 'Gdje' primjenjuje se najprije na pojedinačne retke u tablicama, pri čemu se redovi koji zadovoljavaju uvjete u klauzuli grupiraju zajedno. Tada se klauzula 'Having' primjenjuje na retke u skupu rezultata. Grupe koje ispunjavaju uvjete u klauzuli 'Imajući' pojavljuju se u izlazu upita.
I "Imajući" i "Gdje" su klauzule koje se mogu koristiti u SQL-u. SQL je programski jezik posebne namjene namijenjen upravljanju podacima u sustavima za upravljanje relacijskim bazama podataka (RDBMS). Ima sljedeće funkcije:
- Umetanje podataka,
- Ažuriraj i izbriši,
- Pristup i kontrola, i
- Kontrola i modifikacija sheme.
Podijeljen je na elemente kao što su:
- izrazi
- predikati
- upiti
- izjave
- klauzule
Klauzule u SQL-u uključuju:
- Klauzula o ograničenju
- Za klauzulu Ažuriranje
- Iz klauzule
- Klauzula Grupa po
- Odredba Red po
- Gdje je trenutna klauzula
- Uz klauzulu
- Gdje klauzula
'Imati' i 'Gdje' su samo dvije od ovih mnogih klauzula. Izjave u SQL-u mogu se izvršiti sljedećim redoslijedom:
- Odredba FROM
- WHERE klauzula
- Klauzula GROUP BY
- Klauzula HAVING
- SELECT klauzula
- ORDER BY klauzula
Klauzula 'Having' koristi se samo uz izjavu 'Select' i nakon klauzule 'Group By'. Klauzula 'Gdje', s druge strane, može se koristiti is drugim izrazom, a ne is izborom 'Odaberi'. Međutim, koristi se prije klauzule 'Grupiraj po'. Ako u slučaju da se ne upotrebljava klauzula 'Group By', klauzula 'Having' se ponaša kao klauzula 'Where'.
Klauzula 'Gdje' primjenjuje se najprije na pojedinačne retke u tablicama, pri čemu se redovi koji zadovoljavaju uvjete u klauzuli grupiraju zajedno. Tada se klauzula 'Having' primjenjuje na retke u skupu rezultata. Grupe koje ispunjavaju uvjete u klauzuli 'Imajući' pojavljuju se u izlazu upita.
Klauzula 'Having' koristi se za filtriranje zapisa koje vraća grupa po klauzuli korištenjem predikata. Korištenjem klauzule 'Imajući', rezultati klauzule 'Grupa po' mogu biti ograničeni i odabrani su samo navedeni redovi.
Klauzula 'Gdje', s druge strane, koristi se za odabir redaka koji će biti uključeni u upit. Klauzula koristi predikat usporedbe na temelju sljedećih operatora: = ili jednak, ili nije jednak, > ili veći od, = ili veći od ili jednak, <= ili manji ili jednak, između, kao i u. 'klauzula isključuje retke koji ne zadovoljavaju zahtjeve postavljene upitom.
Klauzula 'Gdje' se koristi za odabir pojedinačnih redaka u tablici koja je navedena u klauzuli 'Od'. Koristi se za dohvaćanje određenih informacija iz tablice, isključujući druge nevažne podatke. Time se povećava vrijeme obrade upita.