Je databaserecords filteren met SQL's WHERE
Je kunt nu een basis-SQL-query uitvoeren om records uit elke tabel in je database te selecteren en je kunt ook eenvoudige aanpassingen doen om bepaalde kolommen en aantallen rijen te kiezen.
Er zijn nog een paar standaard SQL-vaardigheden die je helpen op weg naar SQL-ninja.
Stel dat je alle records uit de Customer-tabel van de Chinook-database wilt waarvoor Country 'Canada' is. Dit gaat heel eenvoudig in SQL met een SELECT-statement gevolgd door een WHERE-clausule, zoals hieronder:
SELECT * FROM Customer WHERE Country = 'Canada'
Je kunt in feite elke SELECT-query filteren op elke voorwaarde met een WHERE-clausule. Dit heet je records filteren.
In deze interactieve oefening selecteer je alle records uit de Employee-tabel waarvoor 'EmployeeId' groter dan of gelijk aan 6 is.
Packages zijn alvast geïmporteerd als volgt:
import pandas as pd
from sqlalchemy import create_engine
Aan de slag met query's!
Deze oefening maakt deel uit van de cursus
Introductie tot data importeren in Python
Oefeninstructies
- Vul het argument van
create_engine()aan zodat de engine voor de SQLite-database'Chinook.sqlite'wordt aangemaakt. - Voer de query uit die alle records selecteert uit de
Employee-tabel waar'EmployeeId'groter dan of gelijk aan6is. Gebruik de>=-operator en sla de resultaten op inrs. - Pas de methode
fetchall()toe oprsom alle records inrsop te halen. Sla ze op in de DataFramedf. - Gebruik het
rs-object om de kolomnamen van de DataFrame in te stellen op de overeenkomstige kolomnamen van de tabel.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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())