SQL Analysis について
業務アナリスト向けの SQL スキルです。データ要件の検証、現状データの把握、独立した分析を支援します。クエリの基礎、一般的な確認方法、読み取り専用での調査手法を扱います。
主な機能
- 01SELECT と絞り込みの基礎
- 02集計とテーブル結合
- 03データ品質チェック
- 04プロセスと連携の分析
- 05読み取り専用クエリの実践
活用シーン
- 01移行データの検証
- 02欠落または想定外のレコードの調査
- 03関係者向けのアドホックレポート作成
- 04連携項目の値マッピング確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ danhvb/ my-ba-skills --skill sql-analysisインストール後、Claude Code で/sql-analysisを入力して読み込まれたか確認します。
詳細
SQL 分析スキル
目的
BA がデータ要件を検証し、現在のデータ状態を把握して、開発者だけに頼ることなく自らデータ分析を行えるようにします。
使用する場面
- 移行データを検証するとき。
- 現在のデータ構造(As-Is)を把握するとき。
- ユーザーの問題をトラブルシューティングするとき(「この注文が表示されないのはなぜですか?」)。
- ステークホルダー向けにアドホックレポートを作成するとき。
BA 向け SQL の基本概念
1. SELECT 文
SELECT column1, column2 -- What do you want?
FROM table_name -- From where?
WHERE condition -- Filter logic
ORDER BY column1 DESC; -- Sorting
2. フィルタリング(WHERE)
WHERE status = 'Active'(完全一致)WHERE quantity > 10(比較)WHERE name LIKE 'Smith%'(部分一致)WHERE status IN ('New', 'Open')(リスト)WHERE end_date IS NULL(欠損データの検出)
3. 集計(GROUP BY)
データを要約します。
SELECT status, COUNT(*) as total_orders
FROM orders
GROUP BY status;
4. テーブルの結合(JOIN)
関連するデータを結び付けます。
- INNER JOIN:一致するレコードのみ(A ∩ B)。「注文のある顧客を表示してください。」
- LEFT JOIN:左側のすべてと、右側の一致するレコード(A + A∩B)。「すべての顧客と、注文があればその注文を表示してください。」(注文のない顧客を見つけるのに適しています)。
よく使う分析クエリ
データ品質チェック
「メールアドレスが重複している顧客はいますか?」
SELECT email, COUNT(*)
FROM customers
GROUP BY email
HAVING COUNT(*) > 1;
「有効なユーザーに紐付いていない注文はありますか?」
SELECT o.order_id
FROM orders o
LEFT JOIN users u ON o.user_id = u.id
WHERE u.id IS NULL;
プロセス分析
「注文の発送にはどのくらい時間がかかりますか?」
SELECT
AVG(DATEDIFF(day, order_date, shipped_date)) as avg_days_to_ship,
MAX(DATEDIFF(day, order_date, shipped_date)) as max_days
FROM orders
WHERE shipped_date IS NOT NULL;
インテグレーション仕様の検証
「マッピングに使用できるように、『Payment Method』の値を重複なく取得してください。」
SELECT DISTINCT payment_method
FROM transactions;
ベストプラクティス
- 読み取り専用アクセス:SELECT 権限(ro-user)のみを付与してください。
- 結果を制限する:新しいテーブルを調べるときは、必ず
LIMIT 10(またはTOP 10)を使用してください。 - 本番環境のパフォーマンスへの影響を避ける:ピーク時に負荷の高いクエリ(例:巨大なテーブルを5つ結合するクエリ)を実行しないでください。
- NULL を理解する:
COUNT(column)は NULL を無視し、COUNT(*)はすべてをカウントします。
ツール
- DBeaver:汎用 DB ツール。
- Metabase / Redash:ビジュアル SQL ビルダー。
- Lark Base:CSV の結果をインポートして共有できます。
コメント
Markdown 対応