8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【無料】SELECT文からER図を自動生成するツールを作った(JOIN解析)

8
Last updated at Posted at 2026-03-21

※ブラウザだけで使えます(インストール不要・無料)

はじめに

既存システムのSQLを読んでいると、こんなことありませんか?

  • JOINが多すぎて構造が分からない
  • テーブルの関係を頭の中で追うのがつらい
  • ER図が欲しいけど存在しない

そこで、SELECT文からER図を生成するツールを作りました。

既存ツール(A5:SQL Mk-2など)はDDLベースですが、
このツールはSELECT文だけでER図を生成できます。


できること

SELECT文 → ER図

SELECT
  u.name,
  o.id,
  p.name
FROM users u
JOIN orders o ON u.id = o.user_id
JOIN order_items oi ON o.id = oi.order_id
JOIN products p ON oi.product_id = p.id;

👇

ER_1774109844931.png

👉 JOIN関係を解析してER図を生成


仕組み(シンプル)

やっていることはシンプルで

JOIN + ON句を解析
u.id = o.user_id

のような条件からリレーションを抽出しています。


ポイント

  • CREATE文がなくても使える
  • 既存SQLだけで構造を可視化できる
  • 調査・解析に強い

想定ユースケース

  • 既存システムの解析
  • JOINの理解
  • SQLレビュー
  • 新規メンバーのキャッチアップ

使い方

  1. SELECT文を貼り付け
  2. 実行
  3. ER図が表示される

SQL2ER(SELECT).gif

※生成後はMermaidファイル(.mmd)とPNGファイルをダウンロードできます


ちょっとした工夫

  • aliasあり/なし対応
  • 複数JOIN対応
  • INNER / RIGHT / LEFT JOINも考慮

まとめ

「SQLを読む」のがかなり楽になります。

👉 SQL2ERを使ってみる


余談

CREATE文からのER生成はよくありますが、
SELECTから生成できると既存解析でかなり便利でした。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?