Filtrování záznamů v databázi pomocí SQL WHERE
Teď už umíš spustit základní SQL dotaz pro výběr záznamů z libovolné tabulky a přizpůsobit ho tak, aby vracel konkrétní sloupce nebo omezený počet řádků.
Existuje ještě několik dalších standardních SQL technik, které ti na cestě k mistrovství v SQL dobře poslouží.
Představ si například, že chceš získat všechny záznamy z tabulky Customer v databázi Chinook, kde je Country rovno 'Canada'. V SQL to snadno zapíšeš pomocí příkazu SELECT s klauzulí WHERE:
SELECT * FROM Customer WHERE Country = 'Canada'
Klauzulí WHERE můžeš filtrovat libovolný příkaz SELECT podle jakékoli podmínky. Tomuto postupu se říká filtrování záznamů.
V tomto cvičení vybereme všechny záznamy z tabulky Employee, kde je hodnota 'EmployeeId' větší nebo rovna 6.
Potřebné balíčky jsou již naimportovány:
import pandas as pd
from sqlalchemy import create_engine
Pusť se do dotazování!
Toto cvičení je součástí kurzu
Úvod do importu dat v Pythonu
Pokyny k cvičení
- Doplň argument funkce
create_engine()tak, aby byl vytvořen engine pro SQLite databázi'Chinook.sqlite'. - Spusť dotaz, který vybere všechny záznamy z tabulky
Employeekde je'EmployeeId'větší nebo rovno6. Použij operátor>=a výsledky ulož do proměnnérs. - Zavolej metodu
fetchall()na objekturs, aby se načetly všechny záznamy. Ulož je do DataFramedf. - Pomocí objektu
rsnastav názvům sloupců DataFramu odpovídající názvy sloupců tabulky.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create engine: engine
engine = create_engine(____)
# Open engine in context manager
# Perform query and save results to DataFrame: df
with engine.connect() as con:
rs = con.execute(____)
df = pd.DataFrame(____)
df.columns = ____
# Print the head of the DataFrame df
print(df.head())