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


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.