Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

I den här bloggen kommer vi att diskutera hur man filtrerar i SQL. Vi kommer att förklara och visa några exempel som använder filtreringsvillkor som IN, NOT IN, LIKE och NOT LIKE .

Dessa filtreringsvillkor används för att filtrera utdata från data. Istället för att välja dem med flera rader med kommandon blir det lättare för dig att komma åt data.

Innehållsförteckning

Använda IN och INTE IN-operatorer för att filtrera data i SQL

I det här exemplet kommer vi att hämta data från ID 1, 5 eller 7. De flesta skulle använda ELLER-villkor .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Om du vill hämta data från fler ID:n måste du skriva flera ELLER-villkor. Däremot kan du använda IN-operatorn för att få den data du vill ha istället för att använda OR-villkor många gånger.

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Om du använder detta filtreringsvillkor kommer vi att få samma utdata, vilket är data från ID 1, 5 eller 7. Tvärtom, om du vill extrahera data från alla utom från ID 1, 5 och 7, skulle du mest använd sannolikt OR-villkoret och <> (NOT EQUAL-operatorn).

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Istället för att skriva långa kommandon kan vi använda NOT IN-operatorn .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Med detta filtreringsvillkor extraherar du data förutom ID 1, 5 och 7.

Genom att använda dessa villkor sparar du mycket tid, och det är samtidigt ett mycket bättre sätt att skriva istället för att använda flera ELLER-villkor .

Använda LIKE och NOT LIKE-operatorer för att filtrera data i SQL

LIKE och NOT LIKE liknar IN- och NOT IN-operatorerna. Istället för sig själv kommer den att få delen av en sträng. Tänk på att du kan använda jokertecken eller specialtecken som procent (%) och understreck (_).

% betyder att det kommer att matcha alla poster med den givna strängen . Om vi ​​matchar 86 och % bör de två första siffrorna vara 86. Så den hittar alla värden som börjar med 86.

Men om vi placerar % på båda sidor av 86 kan det komma från vilken plats som helst. Det kan komma från början, slutet eller mitten. Så den hittar alla värden som har 86 i början, mitten eller slutet. 

Å andra sidan matchar _ endast 1 tecken. Om du använder 86 och _ (86_), kommer den att leta efter alla värden som har 86 på 1:a och 2:a positionen som 860, 861, 862, och så vidare och så vidare. Om du använder _ och 86 (_86), kommer den att leta efter alla värden med 86 på 2:a och 3:e positionerna. 

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

I det här exemplet kommer vi att använda LIKE-operatorn för att få data som har strängen Mark . Vi behöver helt enkelt lägga Mark mellan % för att få en utdata som innehåller Mark

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

På liknande sätt, om vi inte vill extrahera data som innehåller Mark , kan vi använda NOT LIKE-operatorn . Lägg sedan Mark mellan %.

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Den här gången kommer utgången inte att innehålla Mark .

Använda SQL-filtreringsvillkoren i SSMS

Först öppnar vi vår (SQL Server Management Studio).

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Därefter laddar vi tabellen som vi kommer att använda. Observera att databasen som vi använder är adventureworks2012, som finns på webbplatsen Microsoft Documentation .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Klicka sedan på Execute .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Efter det kommer du att se resultatet på fliken Resultat.

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Sedan kommer vi att filtrera utdata baserat på PersonType . Vi använder kommandot select distinct . Vi markerar kommandot och klickar på Execute .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Då kommer du att se utdata som visar PersonType .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Därefter extraherar vi posterna från PersonType IN , eller SP , eller SC . För den här använder vi OR-villkoret . Vi markerar kommandot och klickar på exekvera .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Du kommer då att se att antalet rader är 19 254.

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Men istället för att använda OR-villkoret använder vi IN-operatorn . Så vi skriver kommandot och markerar det. Klicka sedan på exekvera .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Detta kommer att ge oss samma antal rader, vilket är 19 254 .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Om vi ​​vill extrahera all data förutom IN , SP och SC , använder vi NOT IN-operatorn . Så låt oss skriva kommandot och markera det. Klicka sedan på exekvera .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Detta ger oss all data förutom de som är från IN , SP och SC .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Därefter kommer vi att använda LIKE-operatorn för att extrahera data som innehåller Rob från kolumnen FirstName . Låt oss använda kommandot, markera det och klicka på Execute .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Som ett resultat kommer vi att se att utdata nu innehåller Rob i kolumnen FirstName . Eftersom vi använde %, kommer den att visa all data som har strängen Rob .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Slutligen kommer vi att använda NOT LIKE-operatorn . I det här exemplet vill vi extrahera data som inte innehåller Rob . Så vi skriver koden, markerar den och klickar sedan på Execute.

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Detta kommer att ge oss utdata som inte visar någon post som innehåller Rob i kolumnen FirstName .

Filtrera i SQL med IN, NOT IN, LIKE och NOT LIKE

Slutsats

För att sammanfatta har vi diskuterat hur man filtrerar i SQL med IN, NOT IN, LIKE och NOT LIKE operatorer. Du har lärt dig deras användning och deras skillnader, och i vilken situation du kan använda dem.

Dessa operatorer är mer effektiva än att använda OR-villkoret . Du kan använda dessa operatorer för att filtrera och extrahera data du vill ha från din databas istället för att använda längre kommandon, så se till att använda dessa filtreringsvillkor korrekt.

Med vänliga hälsningar,

Hafiz


Hur man kommenterar i Python – En snabbguide för nybörjare

Hur man kommenterar i Python – En snabbguide för nybörjare

Hur man kommenterar i Python – En snabbguide för nybörjare

Vad är Power Query & M Language: En detaljerad översikt

Vad är Power Query & M Language: En detaljerad översikt

Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.

Skapa en paginerad rapport: Lägga till texter och bilder

Skapa en paginerad rapport: Lägga till texter och bilder

Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.

SharePoint Automate-funktionen | En introduktion

SharePoint Automate-funktionen | En introduktion

Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Lös en dataanalysutmaning med LuckyTemplates Accelerator

Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!

Löpande summor i LuckyTemplates med DAX

Löpande summor i LuckyTemplates med DAX

Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

LuckyTemplates Dax-variabler är konstanta: Vad betyder detta?

Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.

LuckyTemplates Slope Chart: En översikt

LuckyTemplates Slope Chart: En översikt

Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.

LuckyTemplates färgteman för enhetliga visualiseringar

LuckyTemplates färgteman för enhetliga visualiseringar

Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Beräkna medelvärde i LuckyTemplates: Isolera veckodags- eller helgresultat med DAX

Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.