sql

メモ。
0
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

私も標準化したくて書いてます。インデントはSQLFixなどのは標準的だと思いますが、SQLServerのビルダーのはかなり嫌ですね。最近は AND , を前が主流です。JOINを後ろに書く人が多いのですが、私はJOINをメインにチェックしますので……。QT @wata_i

2010-03-18 20:55:23
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

オラクルさんにもいろんな人がいるのですね~。 QT @fgtrjhyu:1対1以外のEXISTS使うと内部的に直積作るから駄目って言ったオラクルのコンサル思い出した。どんだけ馬鹿ですかOracle.

2010-03-18 20:56:42
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

SQLは1行で書けるので LEFT JOIN は「左に置いたモノをメインと見ます」の意味。もちろん、一行で書くととても読めないので、左、または、上になります。

2010-03-18 20:57:28
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

大量にSQLを読むとき、左右がごっちゃになっていると大変読みにくい。http://codepad.org/aYJimXh4 http://codepad.org/3Tubw9P4 のように左(上)にあるものが左辺、右(下)になるモノを右辺にするように書くこと。

2010-03-18 20:59:13
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

左右逆で良く書けるなと感心することがある(苦笑)もちろん、左右を逆にしても結果は同じになるけれど、間違いを見つけにくい(本来的には間違い)。 ちなみに、Oracle 9.1.4以前は左右を合わせないとLEFT JOINではちゃんと返ってこなかった記憶がある。

2010-03-18 21:00:34
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

内部結合の意味。ベン図 http://bit.ly/DgC2a で2つの○が重なる内側を取ってくるイメージですかね。左外部は左の○が全部で右は欠けるイメージです。 QT @kana_o @Sikushima inner joinはなぜinnerなのでしょう?

2010-03-18 21:05:31
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

FROM句、WHERE句までを会話のペースでできるようになればSQLは本当に楽になる。基本、名称取りのロジックに関係ないマスターを無視して考えれば良い。後はNOT NULLを意識してLEFT JOINか判断すればいい。

2010-03-18 21:17:56
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

クエリービルダーはイメージを掴むまでは、非常に良いと思います。クエリービルダー → 手書き → クエリービルダーのイメージかな。カラム数が多いのに、無理して手書きする必要も、また、ないのです。

2010-03-18 21:19:31
SQLの苦手を克服する本(技術評論社)/生島 勘富 @Sikushima

テーブル設計を含むアジャイルは、余程単純なテーブル設計ですむ場合を除き、不可能です。テーブル設計を行うためには、UI他の要件が必要です。ですから、アジャイル開発はテーブル(設計)と完全な疎結合にしなければなりません。

2010-03-19 12:51:55