左右逆で良く書けるなと感心することがある(苦笑)もちろん、左右を逆にしても結果は同じになるけれど、間違いを見つけにくい(本来的には間違い)。 ちなみに、Oracle 9.1.4以前は左右を合わせないとLEFT JOINではちゃんと返ってこなかった記憶がある。
2010-03-18 21:00:34@Sikushima インデントだけでなく、テーブルや列の別名の付け方も標準的な規約ってあるんでしょうか。やたらめったらテーブル繋いでるのに機械的に付けたような1文字別名ばっかりで、規約を恨んだことが
2010-03-18 21:02:35内部結合の意味。ベン図 http://bit.ly/DgC2a で2つの○が重なる内側を取ってくるイメージですかね。左外部は左の○が全部で右は欠けるイメージです。 QT @kana_o @Sikushima inner joinはなぜinnerなのでしょう?
2010-03-18 21:05:31弊社では決めます。テーブルに3~4桁のIDを振ってそれをエイリアスに使ったりします。1字はこういうところで短く書くのに使いますけれど。それも標準化したいですね。 QT @futabachannel:@Sikushima インデントだけでなく、テーブルや列の別名の付け方も
2010-03-18 21:08:10つまり、間違いを見つけるためにも、理解を整理し深めるためにも、JOINの型をチェックし易いインデントで書くことです。
2010-03-18 21:09:51LEFT JOIN のライン違いの例 http://codepad.org/9e5Fdyhz
2010-03-18 21:10:04FROM句、WHERE句までを会話のペースでできるようになればSQLは本当に楽になる。基本、名称取りのロジックに関係ないマスターを無視して考えれば良い。後はNOT NULLを意識してLEFT JOINか判断すればいい。
2010-03-18 21:17:56クエリービルダーはイメージを掴むまでは、非常に良いと思います。クエリービルダー → 手書き → クエリービルダーのイメージかな。カラム数が多いのに、無理して手書きする必要も、また、ないのです。
2010-03-18 21:19:31