この記事に関連するツール
ブラウザ上ですぐに試せます。記事の内容を確認しながら使うと、作業の流れをつかみやすくなります。

SQL、たまに書くと必ずエラーになる説
「SELECTしてWHEREで絞り込むくらいならイケるんですけど、INNER JOINとか出てくると頭が真っ白になります…」
最近、チームの若手メンバーから打ち明けられた悩みです。でもこれ、めちゃくちゃ分かります。
今のWeb開発ってORM(RailsのActiveRecordとか、Prismaとか)が優秀すぎるので、普段の業務でゴリゴリの「生SQL」を書く機会って意外と少ないんですよね。
でも、いざ「全ユーザーの今月の売上データを、退会済みユーザーを除外してログテーブルと結合して抽出して!」みたいな生々しいデータ分析を頼まれると、結局SQLを書かないといけない。
とりあえずカンで書いて実行すると Syntax error near 'LEFT JOIN' とか冷たいエラーが返ってきて、「カンマが一個多かった…」「シングルクォート開いたままだった…」としょうもないタイポで時間を溶かすんです。つらい。
タイポレス、ノーコードでクエリを組み立てる体験を
「SQLの文法(Syntax)の呪いから解放されて、データ同士をどう繋ぐか(Logic)だけに集中できるツールがあればいいのでは?」
その思いつきから、ポチポチとクリックするだけで複雑なSQLが組み上がるビジュアルビルダーを作り始めました。
開発中にどうしても譲れなかったのが、**「操作した瞬間に、右側のSQLがバンッ!と書き換わる」**という気持ちよさです。
プルダウンで LEFT JOIN を選んだ瞬間、リアルタイムで FROM 句の下にインデント付きの綺麗なコードが挿入される。これを見ているだけで、「ああ、こうやって繋げば良かったのか」というフィードバックループが超高速で回るんです。
正直、これを作ったことで一番助かっているのは僕自身かもしれません(笑)。
「SQLって怖い、難しい」と感じている初学者の人が、このツールをカチャカチャいじりながら「なんだ、テーブルとテーブルを接着剤でくっつけるだけじゃん」と気づいてくれたら、作者としてこんなに嬉しいことはありません。
具体的に防ぎたかったミス
よくあるのは、JOIN の条件を WHERE に混ぜてしまい、あとから読んだときに結合条件と絞り込み条件の境目が分からなくなるケースです。
SELECT users.name, orders.total
FROM users
LEFT JOIN orders ON users.id = orders.user_id
WHERE orders.created_at >= '2026-05-01';
このクエリでは、退会済みユーザーを除外したいのか、注文がないユーザーも残したいのかで LEFT JOIN の意味が変わります。ビジュアルビルダーでテーブル、結合キー、WHERE条件を分けて操作できると、「結合の設計」と「抽出条件」を別々に確認できます。レビュー時にも、生成されたSQLをSQL整形ツールに通してから共有すると、意図のズレを説明しやすくなります。