Filtrera databasposter med SQL:s WHERE
Nu kan du köra grundläggande SQL-frågor för att hämta poster från valfri tabell i din databas, och du kan även anpassa frågorna för att välja specifika kolumner och antal rader.
Det finns ytterligare några vanliga SQL-tekniker som kommer att vara till stor nytta på din väg mot att bemästra SQL.
Säg till exempel att du vill hämta alla poster från tabellen Customer i Chinook-databasen där Country är 'Canada'. Det gör du enkelt i SQL med en SELECT-sats följd av en WHERE-klausul:
SELECT * FROM Customer WHERE Country = 'Canada'
Du kan faktiskt filtrera vilken SELECT-sats som helst med ett valfritt villkor via en WHERE-klausul. Det kallas för att filtrera dina poster.
I den här interaktiva övningen väljer du alla poster från tabellen Employee där 'EmployeeId' är större än eller lika med 6.
Paketen är redan importerade enligt följande:
import pandas as pd
from sqlalchemy import create_engine
Dags att köra frågor!
Den här övningen är en del av kursen
Introduktion till dataimport i Python
Övningsinstruktioner
- Fyll i argumentet till
create_engine()så att motorn för SQLite-databasen'Chinook.sqlite'skapas. - Kör frågan som väljer alla poster från tabellen
Employeedär'EmployeeId'är större än eller lika med6. Använd operatorn>=och tilldela resultaten tillrs. - Anropa metoden
fetchall()pårsför att hämta alla poster irs. Lagra dem i DataFrame:endf. - Använd objektet
rsför att sätta DataFrame:ens kolumnnamn till motsvarande namn på tabellkolumnerna.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())