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 の詳細については、ClickHouse Cloud における GenAI ベースのクエリサジェスト機能のご紹介 (Announcing GenAI powered query suggestions in ClickHouse Cloud) を参照してください。
テーブルのセットアップ
UK Price Paid のサンプルデータセットをインポートし、それを使っていくつかの GenAI クエリを作成します。
-
ClickHouse Cloud サービスを開きます。
-
+ アイコンをクリックして新しいクエリを作成します。
-
次のコードを貼り付けて実行します:
このクエリは完了までに約 1 秒かかるはずです。完了すると、
uk_price_paidという空のテーブルが作成されています。 -
新しいクエリを作成し、次のクエリを貼り付けます:
このクエリは gov.uk の Web サイトからデータセットを取得します。このファイルは約 4GB あるため、このクエリの完了までに数分かかります。ClickHouse がクエリの処理を完了すると、uk_price_paid テーブル内にデータセット全体が格納されます。
クエリの作成
自然言語を使ってクエリを作成してみましょう。
-
uk_price_paid テーブルを選択し、Create Query をクリックします。
-
Generate SQL をクリックします。クエリが Chat-GPT に送信されることへの同意を求められる場合があります。続行するには 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 フィールドはマッチします:

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

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

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

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

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

まず、trip_total を week ごとに追跡するシンプルな棒グラフを作成します。そのために、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 フィールドの相関を示すには、軸の範囲を少し調整する必要があります。
