【SQL】WITH句を使ってSQLの見通しを良くしよう【SQL Server】

  • 2020.07.12
  • SQL
【SQL】WITH句を使ってSQLの見通しを良くしよう【SQL Server】

はじめに

コジマです。

WITH句というものがあります。
VIEWのように仮想的なテーブルをつくることができます。

WITH句には

  • 繰り返し参照できる
  • SQLのネストを減らせる

という利点があります。

いっぱいJOINしたり副問合せするとどんどん複雑になっていきますよね。
インデント増えると読みづらくなっていきます。

WITH句を使って少ないネストでの記載を実現できます。

動作確認はSQL Serverで取っています。
他のRDBでは試してないのでそのまま使えないかもしれません。

table_1とそのバックアップテーブルtable_1_bkの差分の件数を知りたいときに
WITHなしの場合は以下のように書くことができます。

WITHをつかうと

のように書けます。

簡単のために例はシンプルですが、
もっと複雑なSQLを書こうとした場合に可読性を上げられることは想像つくと思います。

実際SQLを解析するときに
コメントで「ここが本文」と書いたところだけ注力して読めばいいわけです。

さいごに

関連の記事だとこんなのがあります。よかったら併せて読んでくれたら嬉しいです。
【SQL】テーブルを複製してバックアップを取る【SQL Server】
【SQL】EXCEPTでテーブルの差分を取得する【SQL Server】

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


SQLカテゴリの最新記事