Skip to main content
ClickHouse 25.7 以降、ClickHouse Clientclickhouse-local には、自然言語による説明を SQL クエリに変換する AI 搭載機能 が含まれています。この機能を使うと、必要なデータを平易なテキストで記述でき、システムがそれを対応する SQL ステートメントに変換します。 この機能は、複雑な SQL 構文に不慣れな場合や、探索的データ分析のためのクエリをすばやく生成したい場合に特に便利です。標準的な ClickHouse テーブルで動作し、フィルタリング、集約、JOIN など、一般的なクエリパターンをサポートします。 この機能は、次の組み込みツール/関数を利用して実現されています。
  • list_databases - ClickHouse インスタンスで利用可能なすべてのデータベースを一覧表示します
  • list_tables_in_database - 特定のデータベース内のすべてのテーブルを一覧表示します
  • get_schema_for_table - 特定のテーブルの CREATE TABLE ステートメント (スキーマ) を取得します

前提条件

Anthropic または OpenAI のキーを環境変数として追加する必要があります。
また、設定ファイルを指定することもできます。

ClickHouse SQL playground への接続

ここでは、ClickHouse SQL playground を使ってこの機能を見ていきます。 次のコマンドで ClickHouse SQL playground に接続できます。
ClickHouse はインストール済みであることを前提とします。まだの場合は、インストールガイドを参照してください

自然言語でClickHouseに質問する

では、実際に質問してみましょう。 text to SQL 機能は、実質的に一問一答のクエリ生成ツールです。会話履歴は保持されないため、質問にはできるだけ多くの有用なコンテキストを含めてください。特に、次の点を具体的にしましょう。 期間または日付範囲 必要な分析の種類 (平均、totals、ランキングなど) フィルタ条件

住宅価格が高い市場を見つける

まずは住宅価格について質問してみましょう。SQL playground には英国の住宅価格データセットが含まれており、AI がそれを自動的に見つけます。
Enterキーを押すと、AIが質問に答えようとする際の思考プロセスが表示されます。
AI は次の手順で処理します。
  1. スキーマ検出 - 利用可能なデータベースとテーブルを調べます
  2. テーブル分析 - 関連するテーブルの構造を確認します
  3. クエリ生成 - 質問内容と検出したスキーマに基づいて SQL を生成します
uk_price_paid テーブルが見つかり、実行用のクエリが生成されていることがわかります。 そのクエリを実行すると、次の出力が表示されます。
続けて質問したい場合でも、毎回最初から質問する必要があります。

Greater London の高額物件を探す

この機能では会話履歴が保持されないため、各クエリはそれだけで完結している必要があります。追加で質問する場合は、前のクエリを参照するのではなく、必要な前提情報をすべて含める必要があります。 たとえば、前の結果を見て、Greater London の物件に絞って調べたくなるかもしれません。その場合も、「Greater London はどうですか?」と尋ねるのではなく、必要な前提情報をすべて含める必要があります。
AI はこのデータをたった今調べたばかりなのに、同じ発見のプロセスをたどることに注目してください。
これにより、Greater London に対象を絞ってフィルタリングし、結果を年ごとに分類する、より的を絞ったクエリが生成されます。 クエリの出力を以下に示します。
City of London は、一貫して最も高額な地区として表示されています!AI は妥当なクエリを作成していますが、結果は時系列ではなく平均価格順に並んでいることがわかります。前年比で分析するには、結果のグループ化が変わるよう、質問を「各年で最も高額な地区」とより具体的にするとよいでしょう。
最終更新日 2026年6月29日