クロスデータベースクエリ
データベースツールおよび SQL プラグインを有効にする
この機能は PyCharm にデフォルトでバンドルされ有効になっている データベースツールおよび SQL プラグインに依存しています。 関連機能が利用できない場合は、プラグインが無効になっていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
データベースツールおよび SQL プラグインを見つけて、 有効化 をクリックします。噛み砕いて教えて。
PyCharm では、事前にデータをコピーしなくても、異なるデータベース間でデータをクエリして結果を直接表示できます。 IDE は、PyCharm とクエリ対象のデータベースの間を仲介する専用の ワークスペース データソースを提供します。 その クエリコンソールs を使用すると、 Ctrl+Space コード補完と 特殊な構文を利用して SQL クエリを記述して実行できます。
Workspace データソース
ワークスペース データソースは DuckDB に基づいており、デフォルトでインメモリ DuckDB データベースを作成します。 各プロジェクトには、 ワークスペース データソースを 1 つ持たせることができ、必要な数の クエリコンソールs を使用できます。

Workspace データソースを作成する
データベース ツールウィンドウのツールバーで、
追加 をクリックし、
ワークスペースのデータソース を選択します。
PyCharm は、 データベース ツールウィンドウのリストにデータソースを追加し、デフォルトの クエリコンソール を自動的に開きます。

構文
ワークスペース データソースの クエリコンソール では、次の構文を使用して他のデータソースのテーブルを参照できます:
テーブルを直接参照するには、そのデータソースとテーブル名を指定します。 必要に応じてデータベースとスキーマを追加します:
#data_source[.database.schema].tableテーブルをフィルターするには、参照に
#filter(...)を追加します:#data_source[.database.schema].table.#filter('condition')また、
#query(...)を使用してデータソースに対してクエリを実行することもできます:#data_source[.database.schema].#query('query')
#filter(...) と #query(...) では、単一引用符の代わりに $$...$$ ドル引用符付き文字列を使用できます: #filter($$condition$$) と #query($$query$$)。
# と入力すると、コード補完を使用してデータソースを選択できます。

サンプル
以下は、 PostgreSQL および MySQL データソースとそれぞれの Sakila データベースで使用する構文の例です:
参照先テーブルの行をフィルターする:
SELECT * FROM #PostgreSQL.guest.public.customer.#filter('customer_id > 100');
参照先データソースに対してクエリを実行する:
SELECT * FROM #PostgreSQL.guest.public.#query($$ SELECT customer_id, amount FROM payment WHERE amount > 5 $$);
PostgreSQL と MySQL データソースのデータを結合する:
SELECT c.first_name, c.last_name, p.amount FROM #PostgreSQL.guest.public.customer c JOIN #MySQL.sakila.payment p ON c.customer_id = p.customer_id;