If you do not use the
%%sql magic in your Jupyter notebook, the output of your SQL queries will be just a plain list of tuples. A better way to work with the result sets returned is to draw them as a table with the headers. This is where the IPython SQL magic gets very handy. You can install it using
pip install ipython-sql. Refer to its GitHub repository for details of the implementation.
You have to connect to a database and then all your subsequent SQL queries will be aware of this connection and the result sets are also drawn nicely in a table. Another neat feature of the
%%sql magic is that you will be able to get the result of your SQL query as a
pandas data frame object if you would like to proceed working with the result set using Python. The result object of SQL query execution can be accessed from a variable
_. This is because IPython’s output caching system defines several global variables;
_ (a single underscore) stores previous output just like the IPython interpreter.
Look into this sample Jupyter notebook for illustration.