Because SQL is everywhere but you don't want to use it
summary
Claim: use Python expressions to build SQL that actually runs on the engine, not fragile string templates. Demonstration uses Ibis to connect to DuckDB and Postgres, deferred execution validates types as queries are composed, casts and filters compile to dialect-specific SQL, and simple examples execute and return correct results. Shows embedding raw SQL and joining data from two engines experimentally. Notes limitations: SQL dialect quirks, floating point differences, and 16+ backends support but cross-database joins experimental.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:04SQL translation pain
- 3:13SQL limitations
- 7:28Generating SQL strings
- 10:36Introducing Ibis
- 13:04Demo: Ibis with DuckDB
- 15:50Filtering and casting
- 17:14Joins and ordering
- 20:46Cross-backend execution
- 21:30Advanced Ibis features
- 24:40SQL in Ibis expressions
- 27:12Ibis with pandas
- 28:35Cross-database joins
- 29:58Summary
- 31:45Q&A
related talks
27mBecause SQL Is Everywhere
02h 42mSQL (The Return): Demystifying Preconceptions and Using the DB Effectively
39mMore Than a Query Language: SQL in the 21st Century
32mUnlearning SQL
43mSQL vs Prejudice
35mQuerying the queries: SQL Metaprogramming in Python
31mExtending SQL Databases with Python
41mData Engineers: Respect the Resiliency of SQL
