Here's something that confused me early on: we write SELECT name FROM customers, but the database reads it as FROM customers then SELECT name.
FROM executes first. It tells the database where to find the data. Everything else operates on what FROM gives you.
This maps directly to Python:
for customer in customers: # ← This is like FROM
print(customer['name']) # ← This is like SELECT
Understanding execution order saves debugging headaches later when we get to filtering and joins.
This week's post covers the basics of FROM, plus a DuckDB bonus: reading directly from CSV and Parquet files without importing them first.
Next week: SELECT, choosing which columns you actually want to see.
-Jamal
