Filtrarea înregistrărilor din baza de date folosind WHERE în SQL
Acum știi să execuți o interogare SQL de bază pentru a selecta înregistrări din orice tabel al bazei de date și să personalizezi interogările pentru a selecta anumite coloane sau un număr specific de rânduri.
Mai există câteva tehnici standard SQL care îți vor fi de folos pe drumul spre a deveni un expert SQL.
Să presupunem, de exemplu, că vrei să obții toate înregistrările din tabelul Customer al bazei de date Chinook pentru care Country este 'Canada'. Poți face acest lucru foarte ușor în SQL folosind o instrucțiune SELECT urmată de o clauză WHERE, astfel:
SELECT * FROM Customer WHERE Country = 'Canada'
De fapt, poți filtra orice instrucțiune SELECT după orice condiție folosind o clauză WHERE. Aceasta se numește filtrarea înregistrărilor.
În acest exercițiu interactiv, vei selecta toate înregistrările din tabelul Employee pentru care 'EmployeeId' este mai mare sau egal cu 6.
Bibliotecile sunt deja importate astfel:
import pandas as pd
from sqlalchemy import create_engine
Trimite interogarea!
Acest exercițiu face parte din cursul
Introducere în importul datelor în Python
Instrucțiuni pentru exercițiu
- Completează argumentul funcției
create_engine()astfel încât să fie creat engine-ul pentru baza de date SQLite'Chinook.sqlite'. - Execută interogarea care selectează toate înregistrările din tabelul
Employeeunde'EmployeeId'este mai mare sau egal cu6. Folosește operatorul>=și atribuie rezultatele variabileirs. - Aplică metoda
fetchall()perspentru a prelua toate înregistrările dinrs. Stochează-le în DataFrame-uldf. - Folosind obiectul
rs, setează numele coloanelor DataFrame-ului la numele corespunzătoare ale coloanelor din tabel.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())