SQL Editor
SQLを使ってデータのフィルタリング、集計、結合ができます。
基本的な使い方
SQL Editorを開く
メニューバーから Data > SQL Editor を選択すると、新しいSQL Editorタブが開きます。
クエリの実行
エディタにSQLクエリを入力し、Run Query ボタンをクリックするか、Cmd+Enter(Mac)または Ctrl+Enter(Windows)を押すとクエリが実行されます。実行結果は最初の10行がプレビュー表示されます。
結果の保存
クエリ結果を新しいデータセットとして保存できます。Output Dataset Name 欄に新しいデータセット名を入力し、Save as Dataset ボタンをクリックすると、派生データセットがプロジェクトに追加されます。
クエリの書き方
基本的なクエリ例
特定の列だけを取得するには、SELECT句で列名を指定します。
SELECT species, island, body_mass_g
FROM penguins
WHERE句を使って条件に合う行だけを抽出できます。
SELECT *
FROM penguins
WHERE body_mass_g > 4000
GROUP BY句と集計関数を組み合わせると、グループごとの集計ができます。
SELECT species, COUNT(*) as count, AVG(body_mass_g) as avg_mass
FROM penguins
GROUP BY species
ORDER BY句で結果を並び替え、LIMIT句で取得行数を制限できます。
SELECT *
FROM penguins
ORDER BY body_mass_g DESC
LIMIT 10
複数テーブルの結合
JOINを使用して複数のデータセットを結合できます。
SELECT a.*, b.category
FROM sales a
JOIN products b ON a.product_id = b.id
テーブル名について
FROM句には、プロジェクト内のデータセット名をそのまま使用できます。
SELECT * FROM penguins
データセット名は大文字・小文字を区別します。また、ハイフンや空白などの特殊文字を含む名前はダブルクォートで囲む必要があります。
SELECT * FROM "bike-sharing"
サポートされるSQL機能
MIDASのSQL EditorはDuckDBをベースにしており、標準的なSQLの機能をサポートしています。
- SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT
- INNER/LEFT/RIGHT/FULL/CROSS JOIN
- サブクエリ
- UNION、INTERSECT、EXCEPT
- ウィンドウ関数(ROW_NUMBER、RANK、LAG、LEAD等)
- WITH句によるCTE(共通テーブル式)
- CASE式
- 集計関数(COUNT、SUM、AVG、MIN、MAX、STDDEV等)
詳細はDuckDBのSQL構文ドキュメントを参照してください。
オートコンプリート
SQL Editorは入力中にオートコンプリート候補を表示します。
- データセット名(FROM句で補完)
- SQLキーワード(SELECT、FROM、WHERE、GROUP BY等)
- 集計関数(COUNT、SUM、AVG、MIN、MAX)
キーボードショートカット
| ショートカット | 動作 |
|---|---|
| Cmd/Ctrl + Enter | クエリを実行する |
| Cmd/Ctrl + F | 検索する |
| Tab | インデントを挿入する |
派生データセット
SQL Editorで作成したデータセットは「派生データセット(Derived Dataset)」として保存されます。派生データセットは元のデータセットとの依存関係が記録され、Project Lineageタブで依存関係を確認できます。元データが更新された場合は、派生データセットも再計算できます。
制限事項
MIDASのSQL EditorはSELECT文(データ取得)のみをサポートしています。INSERT、UPDATE、DELETEなどのデータ変更や、CREATE TABLEなどのDDL(テーブル定義)は使用できません。
また、ブラウザ上で動作するため、メモリ制限により非常に大きなデータセットの処理には制限があります。