Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

V tomto blogu probereme, jak filtrovat v SQL. Vysvětlíme a ukážeme některé příklady využívající podmínky filtrování, jako je IN, NOT IN, LIKE a NOT LIKE .

Tyto podmínky filtrování se používají k filtrování výstupu z dat. Místo toho, abyste je vybírali pomocí více řádků příkazů, bude pro vás snazší přístup k datům.

Obsah

Použití operátorů IN A NOT IN k filtrování dat v SQL

V tomto příkladu budeme získávat data z ID 1, 5 nebo 7. Většina lidí by použila podmínky OR .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Pokud chcete získat data z více ID, budete muset napsat více podmínek NEBO. K získání požadovaných dat však můžete použít operátor IN místo toho, abyste mnohokrát používali podmínky OR .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Použití této podmínky filtrování nám poskytne stejný výstup, což jsou data z ID 1, 5 nebo 7. Naopak, pokud chcete extrahovat data ze všech kromě z ID 1, 5 a 7, měli byste pravděpodobně použijte podmínku OR a operátor <> (NOT EQUAL).

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Místo psaní dlouhých příkazů můžeme použít operátor NOT IN .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Pomocí této podmínky filtrování extrahujete data kromě ID 1, 5 a 7.

Použití těchto podmínek vám ušetří spoustu času a zároveň je to mnohem lepší způsob psaní namísto použití více podmínek NEBO .

Použití operátorů LIKE a NOT LIKE k filtrování dat v SQL

LIKE a NOT LIKE jsou podobné operátorům IN a NOT IN. Místo sebe získá část řetězce. Mějte na paměti, že můžete použít zástupné znaky nebo speciální znaky, jako jsou procenta (%) a podtržítko (_).

% znamená , že bude odpovídat všem záznamům s daným řetězcem. Pokud porovnáme 86 a %, první dvě číslice by měly být 86. Najde tedy všechny hodnoty, které začínají 86.

Ale pokud umístíme % na obě strany čísla 86, může pocházet z libovolného místa. Může pocházet od začátku, konce nebo uprostřed. Takže najde všechny hodnoty, které mají 86 na začátku, uprostřed nebo na konci. 

Na druhou stranu, _ odpovídá pouze 1 znaku. Pokud použijete 86 a _ (86_), bude hledat všechny hodnoty, které mají 86 na 1. a 2. pozici, jako je 860, 861, 862 atd. a tak dále. Pokud použijete _ a 86 (_86), bude hledat jakékoli hodnoty s 86 na 2. a 3. pozici. 

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

V tomto příkladu použijeme operátor LIKE k získání dat, která mají řetězec Mark . Jednoduše potřebujeme umístit značku mezi % , abychom měli výstup obsahující značku

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Podobně, pokud nechceme extrahovat data obsahující Mark , můžeme použít operátor NOT LIKE . Poté vložte značku mezi %.

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Tentokrát výstup nebude obsahovat Mark .

Použití podmínek filtrování SQL v SSMS

Nejprve otevřeme naše (SQL Server Management Studio).

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Dále načteme tabulku, kterou budeme používat. Všimněte si, že databáze, kterou používáme, je adventureworks2012, kterou lze nalézt na webu Microsoft Documentation .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Poté klikněte na tlačítko Provést .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Poté uvidíte výstup na kartě Výsledky.

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Poté výstup vyfiltrujeme na základě PersonType . Použijeme příkaz select different . Příkaz zvýrazníme a klikneme na Provést .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Poté uvidíte výstup zobrazující PersonType .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Dále extrahujeme záznamy z PersonType IN , nebo SP , nebo SC . V tomto případě použijeme podmínku OR . Zvýrazníme příkaz a klikneme na spustit .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Potom uvidíte, že počet řádků je 19 254.

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Místo podmínky OR však použijeme operátor IN . Napíšeme tedy příkaz a zvýrazníme jej. Poté klikněte na spustit .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Získáme tak stejný počet řádků, což je 19 254 .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Pokud chceme extrahovat všechna data kromě IN , SP a SC , použijeme operátor NOT IN . Napíšeme tedy příkaz a zvýrazníme jej. Poté klikněte na spustit .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Tím získáme všechna data kromě těch, která jsou z IN , SP a SC .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Dále použijeme operátor LIKE k extrahování dat obsahujících Rob ze sloupce Jméno . Použijeme příkaz, zvýrazníme jej a klikneme na Provést .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

V důsledku toho uvidíme, že výstup nyní obsahuje Rob ve sloupci Jméno . Protože jsme použili %, zobrazí se všechna data, která mají řetězec Rob .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Nakonec použijeme operátor NOT LIKE . V tomto příkladu chceme extrahovat data, která neobsahují Rob . Napíšeme tedy kód, zvýrazníme jej a poté klikneme na Spustit.

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

To nám poskytne výstup, který neukazuje žádný záznam obsahující Rob ve sloupci Jméno .

Filtrovat v SQL pomocí IN, NOT IN, LIKE a NOT LIKE

Závěr

Abychom to shrnuli, diskutovali jsme o tom, jak filtrovat v SQL pomocí operátorů IN, NOT IN, LIKE a NOT LIKE. Naučili jste se jejich použití a rozdíly a v jaké situaci je můžete použít.

Tyto operátory jsou efektivnější než použití podmínky NEBO . Tyto operátory můžete použít k filtrování a extrahování požadovaných dat z databáze namísto použití delších příkazů, takže se ujistěte, že tyto podmínky filtrování využíváte správně.

Vše nejlepší,

Hafiz


Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.