Filtrování data SQL

Filtrovani Data Sql



Filtrování dat na základě hodnoty data je běžným jevem při práci s databázemi. Může nám například umožnit načíst data z konkrétního časového rámce, agregovat výsledky na základě daného data, identifikovat vzory trendů v čase a další operace související s časem.

Je to proto důležitá dovednost pro každého vývojáře databází. SQL nám poskytuje různé nástroje pro filtrování dat v rámci dané datové sady.







Přidejte se k nám v tomto příspěvku, když prozkoumáme různé metody a techniky, které můžeme použít k filtrování dat ve světě SQL.



Předpoklady:

Než se vrhneme na praktické příklady a aplikace, dovolte nám rozebrat, co k tomu potřebujete.



V tomto příspěvku se pokusíme dodržet metody, které lze použít pro téměř všechny databáze SQL. Pro demonstrační účely však používáme MySQL verze 8 se vzorovou databází Sakila.





Můžete si však stáhnout a používat libovolný datový soubor, který si přejete. Určitě vám ukážeme, zda poskytovaná metoda může fungovat v jiných databázích, a poskytneme alternativu, pokud existuje.

Filtrujte konkrétní datum

Nejzákladnější operace filtrování data je tam, kde potřebujeme získat záznam nebo více záznamů pro určité datum.



V takovém případě můžeme použít klauzuli WHERE následovanou sloupcem data a skutečnou hodnotou data, kterou chceme načíst.

Předpokládejme například, že chceme zjistit záznamy o pronájmu, ke kterým došlo 24. května 2005. Můžeme spustit dotaz následovně:

VYBRAT *
Z výpůjčky
KDE datum_pronájmu = '2005-05-24 23:03:39' ;

V tomto případě poskytujeme datum, které chceme filtrovat jako hodnotu časového razítka. Je to proto, že sloupec „datum_nájmu“ ukládá hodnoty jako časové razítko.

Filtrujte časové období

Druhou běžnou operací je filtrování dat na základě konkrétního období. Předpokládejme například, že chceme získat pronájmy, ke kterým došlo mezi květnem 2005 a červnem 2005.

Dotaz můžeme spustit následovně:

VYBRAT
*
Z
pronájem
KDE
pronájem_datum MEZI '2005-04-01 00:00:00' A '2005-06-01 00:00:00' ;

V tomto případě použijeme operátor AND ke spojení dvou hodnot. Klauzule WHERE se používá tam, kde jakákoli hodnota ze sloupce „datum_nájmu“ musí být mezi těmito dvěma rozsahy.

Příklad výstupu je následující:

Filtrovat komponentu Datum

V jiných případech můžeme místo použití rozsahu dat pomocí doslovných hodnot extrahovat konkrétní komponenty data z hodnoty a na základě toho filtrovat.

Například místo zadání od 2005-04-01 a 2005-06-01 můžeme extrahovat měsíc květen a filtrovat všechna data, která jsou v daném měsíci.

V MySQL můžeme k dosažení tohoto cíle použít funkci, jako je funkce MONTH(), jak ukazuje následující příklad:

VYBRAT
*
Z
pronájem
KDE
MĚSÍC ( datum_pronájmu ) = 5 ;

V tomto případě MONTH(datum_nájmu) extrahuje část měsíce z data. Potom můžeme tuto hodnotu použít k filtrování, kde je hodnota rovna 5, květen.

Závěr

V tomto tutoriálu jsme se dozvěděli o jedné z nejzákladnějších a nejběžnějších úloh v SQL, kde filtrujeme data na základě hodnoty data. Naučili jsme se, jak extrahovat různé součásti z data a používat je k filtrování data a další.