Key Difference – var kontra att ha klausul i SQL
Data är viktigt för varje organisation. Därför är det nödvändigt att lagra data på ett organiserat sätt för att hämta dem. Uppgifterna lagras i tabeller. En databas består av en samling tabeller. En vanlig databastyp är relationsdatabaser. I en relationsdatabas är tabellerna relaterade till varandra. Exempelvis är bordskunden kopplad till beställningsbord. Ett RDBMS (Relational Database Management System) är ett databashanteringssystem som är baserat på en relationsmodell. Det används för att hantera relationsdatabaser. Några exempel på RDBMS är MySQL, MSSQL och Oracle. The Structured Query Language (SQL) är språket som används för att manipulera och hämta data i en relationsdatabas. Det finns olika satser i SQL för att utföra olika uppgifter. Två av dem är var och har. Den här artikeln diskuterar skillnaden mellan where och have-sats i SQL. Den viktigaste skillnaden mellan where och att ha sats i SQL är den där sats används för att filtrera poster innan en gruppering eller aggregering inträffar medan att ha sats används för att filtrera poster efter en gruppering, eller en aggregering sker.
Vad är where-sats i SQL?
Det hjälper till att hämta, uppdatera eller ta bort en viss uppsättning data från tabellen enligt det givna villkoret. Programmeraren kan använda where-klausulen för att begränsa och bara hämta de data som krävs. Frågan körs endast på de poster där villkoret som anges av where-satsen är sant. Den kan användas med välj, uppdatera och ta bort.
Se elevtabellen nedan,
För att välja namn och ålder på eleven vars student_id är lika med 3, kan följande SQL-fråga användas.
välj namn, ålder från student där student_id=3;
Det är också möjligt att använda operatorer som inte lika med (!=), större än (>), mindre än (=), mindre än eller lika med (<=). För att välja student_id och namn vars ålder inte är lika med 15, kan följande SQL-fråga användas.
select student_id, namn från elev där ålder!=15;
För att ändra elevens ålder 2 till 13, kan följande fråga användas.
uppdatera elevens inställda ålder=13 där id=3;
För att radera posten vars student_id är 4, kan följande fråga användas.
radera från student där student_id=4;
operatorerna och, eller kan användas för att kombinera flera villkor.
välj namn från student där student_id=1 och ålder=15; sökfrågan kommer att hämta namnet Ann.
Detta är några exempel på where-sats i SQL. Om det finns en Group By-sats, visas where-satsen före det.
Vad är att ha klausul i SQL?
Det finns funktioner som tillhandahålls av SQL-språket för att enkelt utföra beräkningar. De är kända som aggregeringsfunktioner. Min () används för att hitta det minsta värdet i den valda kolumnen. Max () används för att hitta maxvärdet för den valda kolumnen. Avg () används för att hitta medelvärdet i kolumnen och summa () används för att hitta summan av kolumnen. Det är några exempel på aggregeringsfunktioner. Se beställningstabellen nedan,
Programmeraren kan skriva SQL-frågan enligt följande för att hämta kunder vars saldo är mer än 2000.
selectfrån beställningsgrupp efter kund som har summa(saldo) > 2000.
Detta kommer att skriva ut kundposter vars summering av saldot är större än 2000. Det kommer att skriva ut poster för kunderna Ann och Alex.
The having-satsen används för att hämta värden för de grupper som uppfyller vissa villkor. Därför kommer gruppen som faller till det givna villkoret att dyka upp som ett resultat av detta. Ha-satsen visas efter gruppvis-satsen. Om group-by-satsen inte finns, kommer have-satsen att fungera på samma sätt som where-satsen.
Vilka är likheterna mellan where och att ha klausul i SQL?
- Båda är satser i Structured Query Language.
- Båda kan användas för att filtrera och hämta en uppsättning data.
Vad är skillnaden mellan where och have-sats i SQL?
where kontra att ha klausul i SQL |
|
The where är en SQL-sats som används för att specificera ett villkor när data hämtas från en enskild tabell eller genom att sammanfoga med flera tabeller. | The having är en SQL-sats som anger att en SQL select-sats endast ska returnera rader där aggregerade värden uppfyller de angivna villkoren. |
Syfte | |
where-satsen används för att filtrera rader. | The having-satsen används för att filtrera grupper. |
Aggregation | |
Where-satsen kan inte användas med aggregeringsfunktioner om den inte finns i en underfråga som ingår i en Having-sats. | Aggregeringsfunktionerna kan användas med having-satsen. |
Filtermetod | |
Where-satsen fungerar som ett förfilter. | The having-satsen fungerar som ett inläggsfilter. |
Grupp efter klausul Order | |
Where-klausulen används före Group By-klausulen. | The have-klausul används efter Group By-klausulen. |
Används med | |
Where-satsen kan användas med välj, uppdatera och ta bort. | The having-satsen används endast med select. |
Sammanfattning – var kontra att ha klausul i SQL
The Structured Query Language (SQL) är språket som används i relationsdatabaser. Där finns två satser i SQL. Den här artikeln diskuterade skillnaden mellan var och att ha klausul. Skillnaden mellan where och have-satsen i SQL är att where används för att filtrera poster innan en gruppering eller aggregering inträffar medan having används för att filtrera poster efter en gruppering, eller en aggregering sker.