IQL [1] - The Basics


IQL

IQL is a meta-language we (Iqmo) developed to provide a portable SQL interface and extensions for data sources like BQL.

We love SQL: in-memory OLAP engines have come a long way, allowing us to solve large analysis problems with clear, (mostly) portable query language. I’m sure some developers will hate me for calling SQL clear, but I find its concise declarative syntax far easier to work with for large-scale problems.

In this post, I’ll demonstrate the basics of IQL. More posts will follow on some advanced topics.

IQL defaults to a DuckDB backend, meaning that the SQL you write will be DuckDB-compatible SQL (forked from PostgreSQL’s syntax) with some IQL extensions.

BQuant Example

Prerequisite

To run this example, follow the steps in BQuant - Opening Blog Examples to create a Custom Environment that includes both nbappinator and iql and the notebook code below.

bqnt_iql_magics.ipynb

bqnt_iql_magics