SQL コンソール
SQL コンソールは、ClickHouse Cloud 上のデータベースを探索しクエリを実行するための、最速かつ最も手軽な方法です。SQL コンソールを使用すると、次のことができます:
- ClickHouse Cloud サービスに接続する
- テーブル データを表示、フィルタリング、ソートする
- クエリを実行し、数回のクリックで結果データを可視化する
- クエリをチームメンバーと共有し、より効果的に共同作業を行う
テーブルの確認
テーブル一覧とスキーマ情報の表示
ClickHouse インスタンスに含まれるテーブルの概要は、左サイドバーで確認できます。左サイドバー上部のデータベースセレクタを使用して、特定のデータベース内のテーブルを表示します。

一覧内のテーブルは展開して、カラムおよびデータ型を表示することもできます。

テーブルデータの確認
リスト内のテーブルをクリックすると、新しいタブで開きます。Table View では、データを簡単に表示・選択・コピーできます。Microsoft Excel や Google Sheets などのスプレッドシートアプリケーションへコピー&ペーストしても、構造と書式が保持されます。フッターのナビゲーションを使用して、テーブルデータのページ(30 行単位でページ分割)を切り替えることができます。

セルデータの検査
Cell Inspector ツールを使用すると、1 つのセルに含まれる大量のデータを表示できます。起動するには、セルを右クリックして「Inspect Cell」を選択します。セルインスペクタ内の内容は、右上にあるコピーアイコンをクリックすることでコピーできます。

テーブルのフィルタリングと並べ替え
テーブルをソートする
SQL コンソールでテーブルをソートするには、テーブルを開き、ツールバーの「Sort」ボタンを選択します。このボタンをクリックすると、ソートの設定を行えるメニューが開きます。ソートに使用するカラムを選択し、ソート順(昇順または降順)を設定できます。「Apply」を選択するか Enter キーを押してテーブルをソートします。

SQL コンソールでは、テーブルに複数のソート条件を追加することもできます。別のソート条件を追加するには、もう一度「Sort」ボタンをクリックします。注意:ソートはソートペインに表示される順番(上から下)で適用されます。ソート条件を削除するには、そのソートの横にある「x」ボタンをクリックします。
テーブルのフィルタリング
SQL コンソールでテーブルをフィルタリングするには、テーブルを開き、「Filter」ボタンを選択します。ソートと同様に、このボタンを選択するとフィルタを設定できるメニューが開きます。フィルタに使用するカラムを選択し、必要な条件を設定できます。SQL コンソールは、カラム内に含まれるデータ型に対応したフィルタのオプションを自動的に表示します。

フィルタの設定が完了したら、「Apply」を選択してデータをフィルタリングします。以下のように、追加のフィルタを加えることもできます。

ソート機能と同様に、フィルタを削除するにはフィルタの横にある「x」ボタンをクリックします。
フィルタとソートを同時に行う
SQL コンソールでは、テーブルに対してフィルタとソートを同時に適用できます。そのためには、上記の手順に従って必要なフィルタとソートをすべて追加し、Apply ボタンをクリックします。

フィルターとソートからクエリを作成する
SQL コンソールでは、ソートとフィルターをワンクリックで直接クエリに変換できます。ツールバーで任意のソートおよびフィルターパラメーターを指定し、「Create Query」ボタンを選択します。「Create Query」をクリックすると、新しいクエリタブが開き、テーブルビュー内のデータに対応する SQL コマンドがあらかじめ入力されています。

「Create Query」機能を使用する際に、フィルターやソートは必須ではありません。
SQL コンソールでのクエリ実行についての詳細は、(link) のクエリドキュメントを参照してください。
クエリの作成と実行
クエリを作成する
SQL コンソールで新しいクエリを作成する方法は 2 つあります。
- タブバーの「+」ボタンをクリックします
- 左サイドバーのクエリリストで「New Query」ボタンをクリックします

クエリの実行
クエリを実行するには、SQL Editor に SQL コマンドを入力して「Run」ボタンをクリックするか、ショートカット cmd / ctrl + enter を使用します。複数のコマンドを順に記述して実行する場合は、各コマンドの末尾にセミコロンを付けてください。
クエリの実行オプション デフォルトでは、「Run」ボタンをクリックすると SQL Editor 内に含まれるすべてのコマンドが実行されます。SQL コンソールでは、他にも次の 2 つのクエリ実行オプションをサポートしています。
- 選択したコマンドを実行
- カーソル位置のコマンドを実行
選択したコマンドを実行するには、目的のコマンドまたは一連のコマンドを選択し、「Run」ボタンをクリックするか(またはショートカット cmd / ctrl + enter を使用します)。選択範囲がある状態で、SQL Editor のコンテキストメニュー(エディタ内の任意の場所を右クリック)から「Run selected」を選択することもできます。

現在のカーソル位置のコマンドを実行するには、次の 2 通りの方法があります。
- 拡張 Run オプションメニューから「At Cursor」を選択する(または対応するキーボードショートカット
cmd / ctrl + shift + enterを使用する)

- SQL Editor のコンテキストメニューから「Run at cursor」を選択する

カーソル位置にあるコマンドは、実行時に黄色く点滅します。
クエリのキャンセル
クエリの実行中は、Query Editor ツールバーの「Run」ボタンが「Cancel」ボタンに置き換えられます。クエリをキャンセルするには、このボタンをクリックするか、Esc を押します。注: すでに返されている結果は、キャンセル後もそのまま残ります。

クエリを保存する
まだ名前を付けていない場合、クエリ名は「Untitled Query」として表示されます。クエリ名をクリックすると変更できます。クエリの名前を変更すると、そのクエリは保存されます。

保存ボタン、または cmd / ctrl + s キーボードショートカットを使用してクエリを保存することもできます。

GenAI を使用してクエリを管理する
この機能を使用すると、クエリを自然言語の質問として入力し、利用可能なテーブルのコンテキストに基づいてクエリコンソールが SQL クエリを生成できるようになります。GenAI はクエリのデバッグにも役立ちます。
GenAI の詳細については、Announcing GenAI powered query suggestions in ClickHouse Cloud blog post を参照してください。
Table setup
UK Price Paid のサンプルデータセットをインポートし、それを使っていくつかの GenAI クエリを作成します。
-
ClickHouse Cloud サービスを開きます。
-
+ アイコンをクリックして新しいクエリを作成します。
-
次のコードを貼り付けて実行します:
このクエリの実行には約 1 秒かかります。完了すると、
uk_price_paidという空のテーブルが作成されているはずです。 -
新しいクエリを作成し、次のクエリを貼り付けます:
このクエリは gov.uk のウェブサイトからデータセットを取得します。このファイルは約 4GB あるため、クエリの実行には数分かかります。ClickHouse がクエリを処理し終わると、uk_price_paid テーブル内にデータセット全体が格納されます。
クエリの作成
自然言語を使ってクエリを作成してみましょう。
-
uk_price_paid テーブルを選択し、Create Query をクリックします。
-
Generate SQL をクリックします。クエリが ChatGPT に送信されることへの同意を求められる場合があります。続行するには I agree を選択する必要があります。
-
プロンプト欄に自然言語でクエリ内容を入力すると、ChatGPT がそれを SQL クエリに変換してくれます。この例では次のように入力します:
uk_price_paid のすべてのトランザクションについて、年ごとの合計価格と件数を表示してください。
-
コンソールは目的のクエリを生成し、新しいタブに表示します。この例では、GenAI によって次のクエリが作成されました:
-
クエリの内容を確認して正しければ、Run をクリックして実行します。
デバッグ
ここでは、GenAI のクエリデバッグ機能を試してみます。
-
+ アイコンをクリックして新しいクエリを作成し、次のコードを貼り付けます:
-
Run をクリックします。
priceではなくpriceeから値を取得しようとしているため、クエリは失敗します。 -
Fix Query をクリックします。
-
GenAI がクエリの修正を試みます。この例では、
priceeをpriceに変更しています。また、このシナリオではtoYearを使う方がより適切であることも認識しました。 -
Apply を選択して提案された変更をクエリに反映し、Run をクリックします。
GenAI は実験的な機能であることに留意してください。GenAI が生成したクエリを任意のデータセットに対して実行する際は、慎重に扱ってください。
高度なクエリ機能
クエリ結果の検索
クエリの実行後、結果ペイン内の検索欄を使用して、返された結果セットをすばやく検索できます。この機能は、追加の WHERE 句を適用した場合の結果をプレビューしたり、特定のデータが結果セットに含まれているか確認したりする際に役立ちます。検索欄に値を入力すると、結果ペインが更新され、入力した値に一致するエントリを含むレコードのみが表示されます。次の例では、ClickHouse を含むコメントに対して、hackernews テーブル内で breakfast のすべての出現箇所を検索します(大文字小文字は区別されません):

注意: 入力した値に一致する任意のフィールドが返されます。たとえば、上のスクリーンショットの 3 番目のレコードは by フィールドには breakfast が含まれていませんが、text フィールドには含まれています:

ページネーション設定の調整
デフォルトでは、クエリ結果ペインはすべての結果レコードを1ページにまとめて表示します。結果セットが大きい場合は、表示しやすくするために結果をページ分割した方が望ましい場合があります。これは、結果ペイン右下にあるページネーションセレクタを使用して行えます。

ページサイズを選択すると、ページネーションが即座に結果セットに適用され、ナビゲーションオプションが結果ペインのフッター中央に表示されます。

クエリ結果データのエクスポート
クエリの結果セットは、SQL コンソールから直接 CSV 形式で簡単にエクスポートできます。そのためには、結果ペインのツールバー右側にある ••• メニューを開き、「Download as CSV」を選択します。

クエリデータの可視化
一部のデータは、チャート形式にするとより直感的に理解できます。SQL コンソールからクエリ結果データを基に、数回のクリックで素早く可視化を作成できます。例として、NYC タクシー乗車データの週次統計を計算するクエリを使用します。

可視化されていないと、これらの結果を解釈するのは難しいです。グラフにしてみましょう。
グラフの作成
可視化の作成を始めるには、クエリ結果ペインのツールバーから「Chart」オプションを選択します。すると、グラフ設定ペインが表示されます:

まず、week ごとの trip_total を追跡するシンプルな棒グラフを作成します。そのために、week フィールドを x 軸に、trip_total フィールドを y 軸にドラッグします:

ほとんどのグラフタイプでは、数値軸に複数のフィールドを設定できます。これを示すために、fare_total フィールドを y 軸にドラッグします:

チャートのカスタマイズ
SQL コンソールは 10 種類のチャートタイプをサポートしており、チャート設定ペインのチャートタイプセレクタから選択できます。例えば、先ほどのチャートタイプを Bar から Area へ簡単に変更できます。

チャートタイトルは、データを提供しているクエリ名と一致します。クエリ名を更新すると、チャートタイトルも同様に更新されます。

より高度なチャートの特性も、チャート設定ペインの「Advanced」セクションで調整できます。まず、次の設定を調整します。
- サブタイトル
- 軸タイトル
- x 軸のラベルの向き
チャートはそれに応じて更新されます。

シナリオによっては、各フィールドごとに軸スケールを個別に調整する必要がある場合があります。これは、チャート設定ペインの「Advanced」セクションで、軸レンジの最小値と最大値を指定することで行えます。例として、上記のチャートは見た目は良好ですが、trip_total と fare_total フィールド間の相関関係を示すには、軸レンジを少し調整する必要があります。

クエリの共有
SQL コンソールを使用すると、チームとクエリを共有できます。クエリを共有すると、チームの全メンバーがそのクエリを表示および編集できるようになります。共有クエリは、チームで共同作業を行うための優れた方法です。
クエリを共有するには、クエリツールバーの「Share」ボタンをクリックします。

ダイアログが開き、チームの全メンバーとクエリを共有できるようになります。複数のチームがある場合は、どのチームとクエリを共有するかを選択できます。



状況によっては、フィールドごとに軸スケールを個別に調整する必要がある場合があります。これは、チャート設定ペインの「Advanced」セクションで軸範囲の最小値と最大値を指定することで行うこともできます。たとえば、上記のチャートは見た目は良好ですが、trip_total フィールドと fare_total フィールドの相関関係を示すには、軸範囲を少し調整する必要があります。
