在 Jupyter 中编写 SQL 查询的最佳实践

Doe*_*Doe 5 pandas jupyter-notebook

我正在使用 Jupyter 笔记本进行一些分析。我通常用来pandas.read_sql()在 Jupyter 中编写 SQL 查询。最近我写了一个比较大的查询,有多个连接。它大约有 25 行查询。在 Jupyter 中编写此类查询时的最佳实践是什么?例如,编写这样的查询并不是什么大问题 -

pd.read_sql('select cs1.CLIENT as ClientName from central cs1', db.connect_win())
Run Code Online (Sandbox Code Playgroud)

它易于阅读和理解,但是更大的查询呢?我希望它们有缩进等,这样它们更容易阅读和理解。

Dav*_*nck 4

我会做这样的事情。

sql_query = """
  SELECT first_name, last_name
  FROM actor
  WHERE actor_id IN
  (
    SELECT actor_id
    FROM film_actor
    WHERE film_id IN
    (
      SELECT film_id
      FROM film
      WHERE title = 'ALTER VICTORY'
    )
  );
"""
actor = pd.read_sql(sql_query, db.connect_win())
Run Code Online (Sandbox Code Playgroud)

有一些很棒的 VS Code 扩展,例如SQL Server (mssql). 它会为您自动格式化。有时我喜欢首先使用 VS Code 作为 linting 工具,然后将生成的查询粘贴回我的 Jupyter 笔记本中。