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

Leave a Comment

Skapa en datumtabell i LuckyTemplates

Skapa en datumtabell i LuckyTemplates

Ta reda på varför det är viktigt att ha en dedikerad datumtabell i LuckyTemplates och lär dig det snabbaste och mest effektiva sättet att göra det.

LuckyTemplates mobilrapporteringstips och tekniker

LuckyTemplates mobilrapporteringstips och tekniker

Denna korta handledning belyser LuckyTemplates mobilrapporteringsfunktion. Jag ska visa dig hur du kan utveckla rapporter effektivt för mobila enheter.

Professional Service Analytics-rapporter i LuckyTemplates

Professional Service Analytics-rapporter i LuckyTemplates

I denna LuckyTemplates Showcase går vi igenom rapporter som visar professionell serviceanalys från ett företag som har flera kontrakt och kundengagemang.

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Microsoft Power Platform-uppdateringar | Microsoft Ignite 2021

Gå igenom de viktigaste uppdateringarna för Power Apps och Power Automate och deras fördelar och konsekvenser för Microsoft Power Platform.

Vanliga SQL-funktioner: En översikt

Vanliga SQL-funktioner: En översikt

Upptäck några vanliga SQL-funktioner som vi kan använda som sträng, datum och några avancerade funktioner för att bearbeta eller manipulera data.

LuckyTemplates Skapa mall: Guide och tips

LuckyTemplates Skapa mall: Guide och tips

I den här handledningen kommer du att lära dig hur du skapar din perfekta LuckyTemplates-mall som är konfigurerad efter dina behov och preferenser.

Fältparametrar och små multiplar i LuckyTemplates

Fältparametrar och små multiplar i LuckyTemplates

I den här bloggen kommer vi att visa hur man lager fältparametrar med små multiplar för att skapa otroligt användbara insikter och bilder.

LuckyTemplates Rank och anpassad gruppering

LuckyTemplates Rank och anpassad gruppering

I den här bloggen kommer du att lära dig hur du använder LuckyTemplates ranknings- och anpassade grupperingsfunktioner för att segmentera en exempeldata och rangordna den enligt kriterier.

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

Visar kumulativ total endast upp till ett visst datum i LuckyTemplates

I den här handledningen kommer jag att täcka en specifik teknik kring hur man visar Kumulativ total endast upp till ett specifikt datum i dina bilder i LuckyTemplates.

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Punktdiagram: Avancerade anpassade bilder för LuckyTemplates

Lär dig hur du skapar och anpassar punktdiagram i LuckyTemplates, som huvudsakligen används för att mäta prestanda mot mål eller tidigare år.