タグ

SQLに関するwarabiのブックマーク (6)

  • SQL の CASE 式って知ってますか? :: Drk7jp

    今日、同僚から MySQL って CASE 式を SQL の中に記述できましたっけ?と聞かれて、SQL 文に CASE - when 式を記述できることを初めて知りました。PL/SQL でのみ有効な構文かと勘違いしてました。 CASE 式はSQL-92 で標準に取り入れられており、意外と歴史は古いです。SQL99 からかと思いました。しかしながら、超便利な CASE 式を知っている人は意外と少ないと思います。Oracle なら同様の処理が記述できる DECODE 関数の方がメジャーですね。実際僕もこちらを用いて業務 SQL を書いてました。 しかし実際のところ、CASE 式の方が明らかに高機能でした。DECODE 関数を使っているOracleユーザには、是非CASE 式への乗り換えを勧めます。CASE 式には下記の通り4つの利用方法があります。 既存のコード体系を新しい体系に変換する(DE

    warabi
    warabi 2010/08/26
  • @IT:Oracle SQLチューニング講座

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 パフォーマンス・チューニング概要 「パフォーマンス・チューニング」という言葉を聞いて、頭を抱えるデータベース管理者(以下、DBA)や開発者の方は多いのではないでしょうか。「難しそうで、あまり深い知識はない」あるいは「つらくて、大変な作業」というイメージを持っている方もいると思います。 しかし、一方では「特にパフォーマンス・チューニングを意識していない」という意見も聞かれます。これは、近年の目覚ましいハ

    @IT:Oracle SQLチューニング講座
  • VB SQL テーブルの結合 - LEFT JOIN, RIGHT JOIN, INNER JOIN, FULL OUTER JOIN, CROSS JOIN, UNION

    Visual Basic 中学校 > データベース講座 > 第10回 テーブルの結合 SQLの中で、複数のテーブルを結合してあたかも1つのテーブルであるかのように扱う基的な手法を説明します。 概要 ・JOINを使用すると複数のテーブルを結合して、1つのテーブルであるかのように扱うことができる。結合はレコード単位で行われ、どのレコードとどのレコードを結合させるかはSQL文中で指定する。 例:以下の例ではT_動物マスタとT_目マスタで、目IDが等しいレコード同士を結合して、あたかも1つのテーブルであるかのようにFROM句に指定する。 SELECT T_動物マスタ.名前, T_目マスタ.目名 FROM T_動物マスタ LEFT JOIN T_目マスタ ON T_動物マスタ.目ID = T_目マスタ.目ID ・JOINにはいくつかの種類があり、結合相手のレコードがいない場合の結果が変わる

    warabi
    warabi 2009/12/17
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    warabi
    warabi 2009/12/14
  • notfound

    We are sorry, but, the blog or user you are looking for can not be found. Checkout some of the blogs in our showcase.

    notfound
    warabi
    warabi 2009/12/08
  • Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog

    JDBC には PreparedStatement クラスが用意されていて、SQL 文の一部をパラメータ化することができる。 パラメータ部分のエスケープ処理は JDBC ドライバが行ってくれるので、SQL インジェクション対策として最近では必須になりつつあるこのクラス。しかし、like 演算子を使う場合は、ちょっと注意が必要だ。 Lv 1 ネットで検索してみると、失敗例としてひっかかってくるのがこのパターン。 Statement stmt = conn.prepareStatement("select * from items where name like '?%'"); stmt.setString(1, "hatena"); ResultSet rs = stmt.executeQuery();name が "hatena" で始まる行を選択しようとしているわけだけど、これだと例外が

    Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog
  • 1