IniziaInizia gratis

Filtrare i record del database usando WHERE di SQL

Ora puoi eseguire una query SQL di base per selezionare i record da qualsiasi tabella del tuo database e puoi anche fare semplici personalizzazioni per selezionare colonne specifiche e un certo numero di righe.

Ci sono un paio di altre tecniche standard per le query SQL che ti aiuteranno nel tuo percorso per diventare un ninja di SQL.

Per esempio, supponiamo che tu voglia ottenere tutti i record dalla tabella Customer del database Chinook per cui il Country è 'Canada'. Puoi farlo molto facilmente in SQL usando un'istruzione SELECT seguita da una clausola WHERE come segue:

SELECT * FROM Customer WHERE Country = 'Canada'

In realtà, puoi filtrare qualsiasi istruzione SELECT in base a qualunque condizione usando una clausola WHERE. Questo si chiama filtrare i tuoi record.

In questo esercizio interattivo, selezionerai tutti i record della tabella Employee per cui 'EmployeeId' è maggiore o uguale a 6.

I pacchetti sono già importati come segue:

import pandas as pd
from sqlalchemy import create_engine

Al lavoro con le query!

Questo esercizio fa parte del corso

Introduzione all'importazione dei dati in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Completa l'argomento di create_engine() in modo che venga creato l'engine per il database SQLite 'Chinook.sqlite'.
  • Esegui la query che seleziona tutti i record dalla tabella Employee dove 'EmployeeId' è maggiore o uguale a 6. Usa l'operatore >= e assegna i risultati a rs.
  • Applica il metodo fetchall() a rs per recuperare tutti i record in rs. Salvali nel DataFrame df.
  • Usando l'oggetto rs, imposta i nomi delle colonne del DataFrame sui corrispondenti nomi delle colonne della tabella.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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())
Modifica ed esegui il codice