Belangrijk verschil: beide 'Having' en 'Where' zijn clausules die in SQL kunnen worden gebruikt. De 'Where' -clausule wordt eerst toegepast op de afzonderlijke rijen in de tabellen, waarmee de rijen die aan de voorwaarden in de clausule voldoen, worden gegroepeerd. De 'Having'-clausule wordt vervolgens toegepast op de rijen in de resultatenset. De groepen die voldoen aan de voorwaarden in de 'Having'-clausule verschijnen in de query-uitvoer.
Zowel 'Having' als 'Where' zijn clausules die in SQL kunnen worden gebruikt. SQL is een programmeertaal voor speciale doeleinden die is ontworpen voor het beheren van gegevens in relationele databasebeheersystemen (RDBMS). Het heeft de volgende functies:
- Gegevensinvoer,
- Update en verwijder,
- Toegang en controle, en
- Schema controle en modificatie.
Het is onderverdeeld in elementen, zoals:
- Uitdrukkingen
- predikaten
- queries
- verklaringen
- clausules
De clausules in SQL omvatten:
- Beperkingsclausule
- Voor de Update-clausule
- Van clausule
- Group By-clausule
- Bestelling per clausule
- Waar Current of clausule
- Een clausule hebben
- Where-clausule
'Hebben' en 'Waar' zijn slechts twee van deze vele clausules. Statements in SQL kunnen in de volgende volgorde worden uitgevoerd:
- FROM-clausule
- WHERE-clausule
- GROUP BY-clausule
- HAVING-clausule
- SELECT-clausule
- ORDER BY-clausule
De 'Having' -clausule wordt alleen gebruikt met de 'Select'-instructie en na de' Group By'-clausule. De 'Where' -clausule kan echter ook worden gebruikt met een andere verklaring dan de 'Select'-instructie. Het wordt echter gebruikt vóór de 'Group By'-clausule. Als in het geval de 'Group By'-clausule niet wordt gebruikt, gedraagt de' Having'-clausule zich als een 'Where'-clausule.
De 'Where' -clausule wordt eerst toegepast op de afzonderlijke rijen in de tabellen, waarmee de rijen die aan de voorwaarden in de clausule voldoen, worden gegroepeerd. De 'Having'-clausule wordt vervolgens toegepast op de rijen in de resultatenset. De groepen die voldoen aan de voorwaarden in de 'Having'-clausule verschijnen in de query-uitvoer.
De 'Having'-component wordt gebruikt om records te filteren die door een groep worden geretourneerd op basis van een predicaat. Door de clausule 'Having' te gebruiken, kunnen de resultaten van een 'Group By' -clausule worden beperkt en worden alleen de opgegeven rijen geselecteerd.
De 'Where' -clausule daarentegen wordt gebruikt om rijen te selecteren die in de query moeten worden opgenomen. De clausule gebruikt een vergelijkingspredicaat op basis van de volgende operatoren: = of gelijk, of niet gelijk, > of groter dan, = of groter dan of gelijk, <= of kleiner dan of gelijk, tussen, zoals, en in. De 'Waar 'clausule sluit rijen uit die niet voldoen aan de vereisten zoals ingesteld door de query.
De 'Where' -clausule wordt gebruikt om afzonderlijke rijen in een tabel te selecteren die is opgegeven in een 'Van'-clausule. Het wordt gebruikt om specifieke informatie uit een tabel op te halen met uitsluiting van andere irrelevante gegevens. Hierdoor neemt de verwerkingstijd voor de query toe.