RubyMine 2026.3 Help

クロスデータベースクエリ

データベースツールおよび SQL プラグインを有効化する

この機能は、RubyMine にデフォルトでバンドルされ有効化されている データベースツールおよび SQL プラグインに依存しています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. データベースツールおよび SQL プラグインを見つけて、 有効化 をクリックします。

RubyMine では、事前にデータをコピーしなくても、異なるデータベース間でデータをクエリし、結果を直接表示できます。 IDE は、RubyMine とクエリ対象のデータベースの仲介役として機能する専用の ワークスペース データソースを提供します。 その クエリコンソールs を使用して、 Ctrl+Space コード補完と 特殊な構文で SQL クエリを作成して実行します。

ワークスペースデータソース

ワークスペース データソースは DuckDB を基盤としており、デフォルトでインメモリ DuckDB データベースを作成します。 各プロジェクトには単一の ワークスペース データソースを設定でき、必要な数の クエリコンソールs を使用できます。

ワークスペースデータソースの設定

ワークスペースデータソースを作成する

  • データベース ツールウィンドウのツールバーで、 追加アイコン追加 をクリックし、 ワークスペースデータソースのアイコンワークスペースのデータソース を選択します。

RubyMine はデータソースを データベース ツールウィンドウのリストに追加し、そのデフォルトの クエリコンソール を自動的に開きます。

ワークスペースデータソースの設定

構文

ワークスペース データソースの クエリコンソール では、次の構文を使用して他のデータソースのテーブルを参照できます:

  • テーブルを直接参照するには、そのデータソースとテーブル名を指定します。 必要に応じてデータベースとスキーマを追加します:

    #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;
    PostgreSQL と MySQL データソースのデータを結合するクロスデータベースクエリの例
2026 年 11 月 9 日