SQLフォーマッター、便利です。
とあるお仕事で、Access DBに埋め込んだクエリを解析するという所業をやっておりましたが、私、データベース屋さんとは程遠く、SQLはなんとなくレベル。
どこのDBのテーブルのどれから、どこぞのカラムと、別のテーブルのカラムを結合して、重複排除して、別のテーブルを生成して。。。。
みたいなことを30クエリほどこなしたのですが、
これがまた辛い。
INNER JOINてなに?IIFてなに?ASでつける別名てなに??
みたいな。
SELECT DISTINCTて、どんなSELECT?
ONとANDとSETが並んでるけど、どないUPDATEするん??
みたいな。
そんなこんなで、SQLは言語ですから、1行にびっしり詰まったSQL文をまずはインデントつけて意味の通じる形式に修正して、読解を始めること数時間。
これ、ツールあるんじゃね??
と思いたちググったらありました。
こちら。
適当に拾ってきたSQL分を例にしますが、
SELECT ID, URI_DATE, ITEM_CODE, NOF AS NOF_TWICE, TOTAL_AMOUNT AS TOTAL_TWICE FROM URIAGE_DAILY;
例えばこんなように1行になっている代物をこのサイトに貼り付けて「整形する」をクリックしますと、、、
こうしてくれます。
美しい。読める読める。
もう一つ、拾い物のSQLですが
select t.topic_id,t.thread_id,Max(t.topic_name),Max(t.topic_date),Max(e.element_write) from topic as t
left join element as e on (t.thread_id = e.thread_id) and (t.topic_id = e.topic_id) where t.thread_id = 3
group by t.topic_id,t.thread_id order by t.topic_date desc limit 0,20;
わりかし長いこやつを、「整形する」と、、、
こうです。
一瞬で可読性を手に入れた!
こうして無事、今日のお仕事をこなすことができましたとさ。
作者さんに感謝。
可読性は上がっても、読む知識を入れなきゃいけないので、結局それなりに時間はかかりましたとさ。
SQL勉強しときゃよかった〜
今から頑張るまする。
創作意欲の支えになります!