Why the best SQL notebook is also a Python notebook
But many products force SQL-first analysts into a dilemma: Either choose a notebook where SQL is treated as a second-class citizen (i.e., compromise on your preferred workflows) or opt for a SQL-only notebook (i.e., compromise on the full potential of the notebook medium).
Analysts shouldn’t have to make this choice. Let’s look at why data professionals need a SQL notebook that gives both SQL and Python their due.
The rise of the SQL notebook
As more vendors release products that transform the traditional SQL editor experience into a notebook format, analysts who have never used a notebook in their lives are discovering what their data scientist pals have known all along: When it comes to analytics work, notebooks are just a better fit.
A single SQL query is rarely, if ever, the end of the road. It usually leads to a chart. Which leads to another query. Then another chart. Lather, rinse, repeat.
And when you have results you want to share, you need to be able to put them in context for others to understand. A line of code won’t tell business stakeholders anything — they need to know what it means.
Unsurprisingly, it’s a lot easier (and faster) to query, visualize, and contextualize in a single place rather than switch back and forth between different tools.
Then there’s the collaborative nature of modern, cloud-based data notebooks, which give you the ability to share analyses with a link or invite teammates into a shared workspace.
Whether you’re conducting a team-wide code review or delivering insights to non-data folks, you have a quick, easy, and secure way to bring colleagues into your exploratory analysis (not to mention organize your queries in one searchable, version-controlled location).
No context switching. No copying and pasting screenshots into Google Docs or Slack. No struggling to keep track of queries or document changes.
There was a time when notebooks couldn’t compete with SQL editors in terms of features. But today’s SQL notebooks come with all the superpowers data analysts depend on: autocomplete, linting, schema exploration, etc.
See Deepnote's schema browser in action in the video below:
Still, that doesn’t mean all SQL notebooks are the same.
SQL notebook stumbling blocks
Some notebooks include SQL capabilities as an afterthought. Others zero in on SQL at the expense of other programming languages. Both approaches are a mistake.
The problem with the first scenario is obvious: It’s an inferior user experience. For example, while you can run SQL queries in a Jupyter notebook with a Python package, you’ll encounter syntax inconsistencies, memory constraints, and other non-SQL-friendly issues.
The second scenario is probelmatic in a different way. SQL is a domain-specific language, and it’s the best in the business at doing what it does: talking to databases. But it also puts a ceiling on what you can do as a data professional. It’s designed for one job, which means it’s not the best tool for every job.
Many data professionals start out with SQL, but very few end there. Maybe you need to go beyond pure SQL in your day-to-day work, when complex business logic and advanced statistics are required. Or maybe you just want to learn a new skill without having to invest in a completely different tool.
No matter how you slice it, opting for a second-rate SQL or SQL-only experience means signing up for limitations.
SQL plus Python, not SQL vs. Python
SQL is easy to use and read. Python is incredibly flexible and has a vast ecosystem of libraries to help you uplevel your work. You should be able to combine their superpowers as you see fit.
You may want to create programmatic SQL queries by embedding Python variables, functions, and control structures in them, allowing you to flexibly explore your data and iterate faster. Or perhaps you'd like to query your database with SQL and then save the results as a DataFrame so you can use Python to create a machine learning model.
No matter the situation, the value is in being able to seamlessly switch between the two — and bring them together when it suits you — so you always have the right tool for the job. Some data notebooks claim to support both, but the reality is limited interoperability. And when it comes to SQL-only notebooks, even that’s off the table.
A data notebook that acts as a full-blown SQL editor — no Python library witchcraft required — is powerful. But one that also allows you to unlock the freedom and flexibility of SQL and Python together is even better.
Your SQL notebook shouldn’t keep you chained to one way of working. It should give you the freedom to do your best work, on your own and with others, no matter what that looks like.
See what makes Deepnote the best SQL notebook
Get started for free to see how Deepnote helps you explore, collaborate on, and share data using SQL, Python, and more.
Share this post