SQLer 生島勘富 のブログ

RDB・SQLの話題を中心に情報発信をしています。

SQL初級

ほとんどのエンジニアは「Staticオジサン」よりひどい3

前回の続き。 目次 目次 正解はこうなる イメージはこうなる つまりこれはバグ!! 「Staticオジサン」はStatic決め打ち ちなみにWordPressはこんな変換をしています

ほとんどのエンジニアは「Staticオジサン」よりひどい2

前回の続きです。 目次 目次 まずは間違いの例 もう少しマシな人の例 まずは間違いの例 たぶん、何も考えてない人は以下のようになったと思います。 基本構文を分かってない。どうしようもないですね。 もう少しマシな人の例 工夫はしたけれど、残念! 正解…

ほとんどのエンジニアは「Staticオジサン」よりひどい1

「Staticオジサン」が炎上して10年ほど経ちましたが、当時、私が指摘した通りほとんどのエンジニアは「Staticオジサン」よりひどく、10年経っても改善してないどころか、更にひどくなっているのではないかと思います。 目次 目次 自分はできると思う人は例題…

RDBMSをタバコ屋さんで説明

勉強会に参加さてもらい、次の勉強会でお話しすることになったので宣伝です。 前の勉強会では以下の様な実験が話題になっていました。http://www.doaplus.com/html/bun/bun03_20051101.html まあ、極めて当たり前の結果です。 5000万件が500万件になるという…

SQLWorld★大阪#6

7/30 に SQLWorld★大阪#6 でお話しさせて頂きます。http://club-windows7.net/modules/pico/index.php?content_id=6 初心者から中級者対象ということですから、OLAP関数を使った一括アップデートのやり方についてお話しします。 前に書いた、http://d.hatena…

SQLのイメージと他の言語のイメージ3

SQLで処理するイメージと、他の言語で処理するイメージを書いてきましたが、必ずしもSQLで処理することがベストと言えないこともあります。例えば、ガンダムのジオラマが最終目標だったとして、パフォーマンスや要望と、あるいは、プログラマの能力などを考…

データ量とインデックスについて

新人研修の季節ですね。 以前、インデックスについてカラオケ本をイメージして考えましょうと書きましたが、新人研修などでは、あまり難しいことを考えずイメージを持つことが非常に重要です。 是非、新人研修の前後で読んでいただければと思います。 もちろ…

SQLのイメージと他の言語のイメージ2

SQLで処理する場合のイメージ 他の言語で処理する場合のイメージ 他の言語で処理するのは非効率になる 当たり前の話ですが材料と結果は同じです。途中経過が違うだけですが、理論的には、RDBMSを使うのにSQLで処理しなければ、必ず余計な処理が必要になりな…

SQLのイメージと他の言語のイメージ

Twitterで検索したりすると、SQLが分からないという人が相も変わらず非常に多い。おそらく、分からないという人は文法から入っているよね、いや、ほぼ間違いない。しかし、遠回りに見えてもイメージから入るべきです。 初めのうちは、AccessなどGUIでSQLが書…

SQLの句や述語で使えるもの2

ご意見頂戴して、昨日の表を修正しました。 SELECT句、ORDER BY句で、テーブル関数は最終的にはサブクエリーにするので微妙なのですけれど、×としました。 普通は使わないので△の方が正しかったような気がするが……。この辺は微妙です。 エクセルファイルはこ…

SQLの句や述語で使えるもの

分かりにくいタイトルで手抜きですが。 漠然と書いている人が多いような気がして整理してみました。勝手に理解している人もいると思いますが、ものすごく重要なことですので完全に頭に入れてください。 皆さん、イメージあってますか? 再利用する方もいるか…

SQLは文法からやっちゃダメ

SQLができる人はたくさんいます。しかし、ほとんどの人は文法から勉強し、文法と実経験からSQLのスキルをつけていったのじゃないかと思う。 同じくオブジェクト指向言語などの手続き型言語も、文法から覚えた人がほとんどじゃないかな。 私の知る限り、手続…

INとEXISTSの違い

INとEXISTSは違います。 BETWEENと、不等号の組合わせなど、等価になる記述法はあるのですけれど、INとEXISTSは基本的に同じ結果を返すことが可能ですが、意味は違います。 この違いが分かるにはインデックスを理解する必要がありますので、まずは、インデッ…

インデックスについて

インデックスが分かってない人が非常に多い。 現実にあった例で、60カラムあるテーブルに、前から3つずつの複合インデックスを20個作るとか、30カラムを1つの複合インデックスにするとか、意味が分かっていない人が非常に多くいます。 ※ 詳しい人へ。ここで…

JOINとWHERE句に結合条件

SQLは標準言語で、ISOやANSI、JISなどで規格が決められています。 前回はFROM句とWHERE句について書きましたが、結合条件はFROM句に書いています。これはANSI 推奨の書き方です。ISO では、元々、WHERE句に書くように規定されていて、Oracleは ISO に準拠し…

FROM句とWHERE句

SQLが分からないという人は、文法を理解しようとしてしまっていることが多い。ですが、私は文法解説は極力やりません。SQLは全体を把握してイメージでとらえないとまっとうに書けないからです。 SQLのSELECTは次の順で処理されます。 FROM・WHERE句の中のサ…