SQL WHERE-klausul til filtrering af data

I denne øvelse vil vi diskutere, hvad SQL WHERE- sætningen er, og hvordan man bruger den. Vi vil også tale om flere betingelser ved at bruge AND- og OR- operatorer. 

SQL WHERE -udtrykket er til filtrering af data eller poster. Det bruges til at oprette en betingelse for kun at udtrække de nødvendige optegnelser. 

Udover at bruge WHERE- sætningen i SELECT- sætningen, kan vi også bruge den med UPDATE , DELETE og andre SQL- sætninger. Til denne øvelse bruger vi den dog kun i SELECT -sætningen.

Indholdsfortegnelse

Simpelt valg ved hjælp af SQL WHERE-klausul

Uden at bruge WHERE- sætningen i en SELECT- sætning, returnerer den alle rækkerne fra en bestemt tabel.

SQL WHERE-klausul til filtrering af data

For dette eksempel ønsker vi kun at få dataene med en Gadget- kategori.

SQL WHERE-klausul til filtrering af data


Så vi skal bruge WHERE- klausulen til at begrænse resultaterne. I dette eksempel oprettede vi en betingelse om, at den skulle kontrollere kolonnen Kategori og kun returnere posterne, hvis kategorien er Gadgets .

SQL WHERE-klausul til filtrering af data

Bemærk, at når vi bruger en streng, skal vi omslutte den med enkelte anførselstegn ( ' ' ). 

Når vi bruger tal eller heltal, behøver vi ikke bruge enkelte anførselstegn. For eksempel ønsker vi at hente de poster, hvor prisen er mindre end eller lig med 30.

Så vi skal bare oprette en forespørgsel, hvor den skal kontrollere kolonnen Pris og returnere disse rækker med en værdi på 30 eller mindre end 30. Som du kan se, har vi ikke også omgivet tallet til enkelte anførselstegn, fordi det er et heltal.

SQL WHERE-klausul til filtrering af data

SQL WHERE-klausul med AND-operatøren

Vi kan også bruge WHERE- sætningen med flere kolonner sammen med AND- og OR -operatorerne.

AND- operatoren fungerer, hvis begge betingelser er SAND . Så det bruges til at få poster, hvor flere betingelser er SAND .

For eksempel vil vi i dette scenarie have posterne, hvor producenten er GizmoWorks, og prisen er mindre end 20.  

SQL WHERE-klausul til filtrering af data

Vi har oprettet flere betingelser med WHERE- sætningen sammen med AND- operatoren som vist på billedet.

SQL WHERE-klausul til filtrering af data

På vores bord har vi 2 rækker med en GizmoWorks-producent. Prisen på 2. række er dog mere end 20. Derfor vil resultatet kun returnere den række, der vender tilbage til de 2 betingelser, som vi har angivet. 

SQL WHERE-klausul til filtrering af data

SQL WHERE-klausul med OR-operatøren

ELLER- operatør betyder, at den skal returnere poster, hvis en af ​​betingelserne er sande. Så hvis AND kun returnerer en post, hvor begge eller alle betingelserne er sande, vil brug af OR- operator returnere en post, selvom kun én betingelse returnerer sand. 

Lad os f.eks. sige, at vi ønsker at hente de poster, hvor produktnavnet enten er SingleTouch eller MultiTouch .

SQL WHERE-klausul til filtrering af data

Vi skal bare oprette en forespørgsel for at kontrollere PName- kolonnen i produkttabellen . I denne forespørgsel brugte vi WHERE -udtrykket og OR -operatoren til at returnere rækker, der overholdt en af ​​de betingelser, der blev angivet.

SQL WHERE-klausul til filtrering af data

Brug af WHERE-klausul i SSMS

Lad os nu bruge WHERE-klausulen i SSMS . Her bruger vi en eksempeldatabase fra Microsoft ved navn AdventureWorks2012. Du kan lære, hvordan du konfigurerer dette ved at følge dette. 

I dette eksempel henter vi posterne under SalesOrderHeader- tabellen.

SQL WHERE-klausul til filtrering af data

For at udføre denne forespørgsel i SSMS skal du blot fremhæve den og klikke på knappen Udfør.

SQL WHERE-klausul til filtrering af data

Uden at bruge WHERE- klausulen returnerer den alle posterne under denne tabel. Som vi kan se, returnerede det 31.465 rækker.

SQL WHERE-klausul til filtrering af data

Lad os sige, at vi vil filtrere disse poster og kun returnere rækkerne med et TerritoryID på 5. Så lad os bruge WHERE- sætningen her til at skabe den betingelse.

SQL WHERE-klausul til filtrering af data

Efter at have udført denne forespørgsel, returnerer den nu 486 rækker i stedet for 31.465. Dette skyldes, at det filtrerede posterne til dem, der kun har TerritoryID5 .

SQL WHERE-klausul til filtrering af data

Lige nu bringer vi stadig alle kolonnerne fra den tabel. Vi kan også begrænse kolonnerne ved at angive de kolonner, vi ønsker at se.

Bare skift * til de specifikke kolonnenavne og udfør forespørgslen. 

SQL WHERE-klausul til filtrering af data

Det vil nu give os de specifikke kolonner, som vi har sat med det samme antal rækker. 

SQL WHERE-klausul til filtrering af data

Lad os nu bruge WHERE- sætningen med en strengværdi . For eksempel ønsker vi at begrænse registreringerne baseret på PurchaseOrderNumber- kolonnens værdi for P014123169936 . Da denne værdi har et bogstav, betragtes den som en streng, selvom der er mange tal med.

SQL WHERE-klausul til filtrering af data

Husk, at når du bruger en strengværdi , skal vi omslutte den med enkelte anførselstegn. Uden de enkelte anførselstegn vises en rød linje, der indikerer, at der er en fejl.

SQL WHERE-klausul til filtrering af data

Resultatet vil så kun give os én række, hvilket betyder, at der kun er én data med det indkøbsordrenummer, vi har angivet.

SQL WHERE-klausul til filtrering af data

WHERE-klausul med OG Operatør og rækkefølge efter søgeord

Lad os have et andet filter, hvor vi vil vælge poster med bestemte ordredatoer. For dette eksempel ønsker vi kun at vælge de poster, hvor ordredatoen er større end eller lig med ' 2014-01-01 ' og mindre end eller lig med ' 2014-03-31 '.

SQL WHERE-klausul til filtrering af data

Vi kan også bruge søgeordet Bestil efter her. For dette eksempel ønsker vi, at dette skal sorteres efter OrderDate i faldende rækkefølge.

SQL WHERE-klausul til filtrering af data

Resultaterne skulle kun vise de poster, der opfyldte de to betingelser, vi har sat.

SQL WHERE-klausul til filtrering af data

Vi kan også genskabe den forespørgsel ved at bruge BETWEEN -operatoren. MELLEM operatoren vælger en værdi inden for et givet område. Så det vil give os de samme resultater, hvis vi gør det på denne måde. 

SQL WHERE-klausul til filtrering af data

WHERE-klausul med OR-operatør for flere tilstande

I dette eksempel har vi flere betingelser ved hjælp af OR- operatoren. Vi ønsker at vælge rækkerne med enten 5, 6 eller 7 som deres område-id.

SQL WHERE-klausul til filtrering af data

Resultaterne skulle vise alle de poster, der opfyldte en af ​​de betingelser, vi har sat. For dette eksempel returnerede det 7.225 rækker.

SQL WHERE-klausul til filtrering af data

Brug af funktioner med WHERE-klausul

Vi kan også bruge funktioner med WHERE -sætningen. For eksempel, i stedet for manuelt at indtaste datoværdien i kolonnen OrderDate , kan vi bruge funktionen ÅR til automatisk at hente alle posterne med en ordredato fra året 2014. 

SQL WHERE-klausul til filtrering af data

Resultatet gav os 11.761 rækker, som er rekorderne for 2014.

SQL WHERE-klausul til filtrering af data


Konklusion

For at opsummere har vi lært, hvordan man bruger WHERE -sætningen i SELECT- sætningen. Igen kan vi også bruge det i UPDATE , DELETE og andre SQL- sætninger. Vi har også lært, hvordan man bruger det til at skabe flere betingelser ved at bruge AND- og OR- operatorerne.

Desuden lærte vi brugen af ​​BETWEEN- operatoren til at vælge mellem en række værdier. Vi kan også bruge WHERE- sætningen med en funktion som YEAR -funktionen. Det er meget vigtigt at bruge WHERE- klausulen for at filtrere nogle poster, som vi ønsker at have. Det er nødvendigt at reducere de poster, der returneres af en forespørgsel, for at filtrere de unødvendige data fra, som vi ikke har brug for. 

Alt det bedste,

Hafiz

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.