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

SQL結合 サブクエリに関して

今回はサブクエリに関してです。 もちろんSQL実践入門を読み進めています。 SQL上ではテーブル、ビュー、サブクエリというのは機能的にはそれほど変わらず主にパフォーマンスの点で違いがでてきます。 以下 …

no image

MySQLのメモリ設定

実務で結構サーバーをヘビーに使われるお客さんがいて、SQLが遅くなったりとしています。 なんとか対策しないといけないので、いろいろと調査をいます。 それで今回はMySQLのメモリ問題など。 MySQL …

no image

jQuery modalダイアログについて&重複時間処理

Contents1 jqueryモーダルダイアログ1.1 あらかじめ読み込むライブラリ1.2 ソース本体1.2.1 Html側1.2.2 Javascript側1.2.3 参考リンク2 重複時間につい …

no image

slow-query-logについて

データベースを伴う部分でののチューニングですが、大きく分けると SQLを書き直す インデックスを張りなおす プログラム内部でキャッシュを有効化する 設定ファイルの修正 上記のようなかんじになるのではな …

no image

正規化のデメリット

Contents1 正規化のデメリット2 本日のSQL 正規化のデメリット 正規化についていろいろ書いてきましたが、メリットもあればデメリットもあります。 メリットとしては データの不整合が起きにくい …

アーカイブ