skillup

技術ブログ

Database

SQL基礎 複雑なSQLの組み方

投稿日:2016年10月16日 更新日:

SQLの本を見ますとかなり複雑なSQLが書かれていることが多いです。

これは頑張っても無理では・・・と思っていましたが、ポイントしては

  • 原則として必ず図に書く
  • まずは問題を細かく分割する
  • 細部から切り分けて部分を組み立てる(多くの場合SELECTで細かいテーブルに分ける)
  • 出力対象が値か単行か表をチェック
  • 変数がきつい場合はまず具体値で試す
  • それを組み合わせていく

こんな感じでしょうか。確かに私も実務でちょっと複雑なSQLを書いたときは図に書き出してやったところ問題点がすぐにつかめました。

困難は分割せよ、どんな学習もコツは同じですね。

本日新しく覚えたSQL構文

SIGN()

引数が正の数ならば1を返し、マイナスの数ならば-1を返す。同じ場合や文字は0を返す。

MySQL関数リファレンス 符号を調べる (SIGN)

rows between ウィンドウ開始点 and ウィンドウ終了点

分析関数。開始点と終了点を記して、その中での集計を行う。

SQL分析関数をさらに深く追求してみよう (1/2)

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

HAVING句の活用 発展編

今回からはまたまたHAVING句です。 下記のようなテーブル(teams)があり、全員が待機状態のチーム(全員がそろっている)を求めます。 member | team_id | status &#82 …

no image

SQLの高速化について&explain

本日はSQLの高速化について。 高速化といってもさまざまなテクがあると思うのですが、代表的な考え方に関して。 Contents1 高速化に関して1.1 index1.2 ディスクアクセスを減らす1.3 …

no image

SQL問題

今までやったSQL問題などのまとめ。定期的にやる予定です・・ 自分用なのでテーブルデータとかあったりなかったりいい加減です(汗) SQLドリル 問題1 nameとageで構成されたテーブルがあるとして …

no image

O/Rマッパー iciqlについて

以前、このブログでも紹介したO/Rマッパーのiciqlについて、使い方や問題点がある程度わかったので書いておきます。 Contents1 インストール2 自動生成3 注意点3.1 Date型のインポー …

no image

ER図作成ツールについて(Mac版)

ER図作成ツールについてMacで色々と調べましたので、メモを。 フリー限定で。 ちなみにwindowsを使っていればA5:SQLが一番使えるかと思います。 以前も下記リンクで説明させていただきました。 …