Nøkkelforskjell – hvor kontra å ha klausul i SQL
Data er viktig for enhver organisasjon. Derfor er det nødvendig å lagre dataene på en organisert måte for å hente dem. Dataene er lagret i tabeller. En database består av en samling tabeller. En vanlig databasetype er relasjonsdatabaser. I en relasjonsdatabase er tabellene relatert til hverandre. For eksempel er bordkunden koblet til ordrebord. Et Relational Database Management System (RDBMS) er et databasestyringssystem som er basert på relasjonsmodell. Den brukes til å administrere relasjonsdatabaser. Noen eksempler på RDBMS er MySQL, MSSQL og Oracle. The Structured Query Language (SQL) er språket som brukes til å manipulere og hente data i en relasjonsdatabase. Det er forskjellige klausuler i SQL for å utføre forskjellige oppgaver. To av dem er hvor og har. Denne artikkelen diskuterer forskjellen mellom hvor og å ha klausul i SQL. Den viktigste forskjellen mellom where og å ha klausul i SQL er den der klausulen brukes til å filtrere poster før en gruppering eller en aggregering skjer, mens det å ha klausul brukes til å filtrere poster etter en gruppering, eller en aggregering skjer.
Hva er where-klausulen i SQL?
Det hjelper å hente, oppdatere eller slette et bestemt sett med data fra tabellen i henhold til den gitte tilstanden. Programmereren kan bruke where-klausulen for å begrense og hente bare de nødvendige dataene. Spørringen kjøres bare på postene der betingelsen spesifisert av where-leddet er sann. Den kan brukes med velg, oppdater og slett.
Se elevtabellen nedenfor,
For å velge navn og alder på studenten hvis student_id er lik 3, kan følgende SQL-spørring brukes.
velg navn, alder fra student hvor student_id=3;
Det er også mulig å bruke operatorer som ikke lik (!=), større enn (>), mindre enn (=), mindre enn eller lik (<=). For å velge student_id og navn hvis alder ikke er lik 15, kan følgende SQL-spørring brukes.
velg student_id, navn fra student hvor alder!=15;
For å endre alderen på eleven 2 til 13, kan følgende spørring brukes.
oppdater elevens alder=13 år der id=3;
For å slette posten der student_id er 4, kan følgende spørring brukes.
slett fra student der student_id=4;
Og, eller-operatorene kan brukes til å kombinere flere forhold.
velg navn fra student der student_id=1 og alder=15; spørringen vil hente navnet Ann.
Dette er noen eksempler på hvor-klausul i SQL. Hvis det er en Group By-klausul, vises where-klausulen før det.
Hva er det å ha klausul i SQL?
Det er funksjoner levert av SQL-språket for å utføre beregninger enkelt. De er kjent som aggregeringsfunksjoner. Min () brukes til å finne den minste verdien av den valgte kolonnen. Maks () brukes til å finne maksimumsverdien for den valgte kolonnen. Avg () brukes til å finne gjennomsnittet i kolonnen og sum () brukes til å finne totalen av kolonnen. Dette er noen eksempler på aggregeringsfunksjoner. Se bestillingstabellen nedenfor,
Programmereren kan skrive SQL-spørringen som følger for å hente kundene hvis saldo er over 2000.
velgfra ordregruppe etter kunde som har sum(saldo) > 2000.
Dette vil skrive ut kundepostene hvis summering av saldoen er større enn 2000. Det vil skrive ut postene til kundene Ann og Alex.
Ha-setningen brukes til å hente verdiene for gruppene som tilfredsstiller visse betingelser. Derfor vil gruppen som faller til den gitte betingelsen vises som et resultat av dette. Ha-leddet vises etter gruppe-for-leddet. Hvis group-by-leddet ikke er til stede, vil have-leddet fungere på samme måte som where-leddet.
Hva er likhetene mellom hvor og å ha klausul i SQL?
- Begge er klausuler i Structured Query Language.
- Begge kan brukes til å filtrere og hente et sett med data.
Hva er forskjellen mellom hvor og å ha klausul i SQL?
where kontra å ha klausul i SQL |
|
Hvor er en SQL-klausul som brukes til å spesifisere en betingelse mens data hentes fra en enkelt tabell eller ved å slå sammen med flere tabeller. | The having er en SQL-klausul som spesifiserer at en SQL select-setning bare skal returnere rader der aggregerte verdier oppfyller de angitte betingelsene. |
Formål | |
where-leddet brukes til å filtrere rader. | The having-leddet brukes til å filtrere grupper. |
Aggregation | |
where-leddet kan ikke brukes med aggregeringsfunksjoner med mindre det er i en underspørring inneholdt i en Having-ledd. | Aggregeringsfunksjonene kan brukes med having-leddet. |
Filtreringsmetode | |
where-leddet oppfører seg som et forhåndsfilter. | The have-klausulen oppfører seg som et postfilter. |
Grupper etter klausulbestilling | |
Where-klausulen brukes før Group By-klausulen. | The have-klausulen brukes etter Group By-klausulen. |
Brukt med | |
Where-klausulen kan brukes med velg, oppdatering og slett. | The have-klausul brukes bare med select. |
Sammendrag – hvor kontra å ha klausul i SQL
The Structured Query Language (SQL) er språket som brukes i relasjonsdatabaser. Hvor har er to klausuler i SQL. Denne artikkelen diskuterte forskjellen mellom hvor og å ha klausul. Forskjellen mellom where og å ha klausul i SQL er at where brukes til å filtrere poster før en gruppering eller en aggregering skjer, mens having brukes til å filtrere poster etter en gruppering, eller en aggregering skjer.