Nøgleforskel: Både, 'Have' og 'Hvor' er klausuler, der kan anvendes i SQL. "Where" -klausulen anvendes først til de enkelte rækker i tabellerne, hvor de rækker, der opfylder betingelserne i klausulen, grupperes sammen. 'Have'-klausulen anvendes så til rækkerne i resultatsætet. Grupperne, der opfylder betingelserne i 'Having' -klausulen, vises i forespørgselsudgangen.
Både 'Have' og 'Hvor' er klausuler, der kan anvendes i SQL. SQL er et specielt programmeringssprog, der er udviklet til styring af data i relationelle databasehåndteringssystemer (RDBMS). Den har følgende funktioner:
- Dataindsats,
- Opdater og slet,
- Adgang og kontrol, og
- Skema kontrol og modifikation.
Det er opdelt i elementer, såsom:
- Udtryk
- prædikater
- forespørgsler
- Udtalelser
- klausuler
Klausulerne i SQL omfatter:
- Begrænsningsklausul
- For opdateringsklausul
- Fra klausul
- Gruppe By-klausul
- Bestil efter klausul
- Hvor nuværende af klausul
- Have klausul
- Hvor bestemmelse
'Have' og 'Hvor' er blot to af disse mange klausuler. Erklæringer i SQL kan udføres i følgende rækkefølge:
- FRA klausul
- HVOR bestemmelse
- GROUP BY-klausul
- HAVING clause
- SELECT-klausul
- BESTILL BY-klausul
'Have' -klausulen bruges kun med 'Select' -erklæringen og efter 'Group By'-klausulen. Klausulen "Hvor" kan derimod bruges sammen med anden erklæring end "Select" -opstillingen. Det bruges dog før 'Group By'-klausulen. Hvis i tilfælde af, at "Gruppebidrag" -klausulen ikke anvendes, fungerer "Efterklausulen" -klausulen som en "Where" -klausul.
"Where" -klausulen anvendes først til de enkelte rækker i tabellerne, hvor de rækker, der opfylder betingelserne i klausulen, grupperes sammen. 'Have'-klausulen anvendes så til rækkerne i resultatsætet. Grupperne, der opfylder betingelserne i 'Having' -klausulen, vises i forespørgselsudgangen.
'Have'-klausulen bruges til at filtrere poster, der returneres af en gruppe efter klausul ved hjælp af et prædikat. Ved at bruge 'Having' -klausulen kan resultaterne af en 'Gruppe By' -klausul begrænses, og kun de angivne rækker er valgt.
Klausulen "Hvor" bruges derimod til at vælge rækker, der skal medtages i forespørgslen. Klausulen bruger et sammenligningsprotikat baseret på følgende operatører: = eller lige eller ikke lige, > eller større end, = eller større end eller lige, <= eller mindre end eller lige mellem, ligesom og i. 'Klausul udelukker rækker, der ikke opfylder kravene som angivet af forespørgslen.
'Where' -klausulen anvendes, vælg individuelle rækker i en tabel, der er angivet i en 'Fra' -klausul. Det bruges til at hente specifikke oplysninger fra en tabel, med undtagelse af andre irrelevante data. Hvis du gør det, har du tendens til at øge behandlingstiden for forespørgslen.