‘データベース’ タグのついている投稿

SQLのWITH句で再帰問合せを試してみる

2014 年 12 月 15 日 月曜日 by O谷
以前にご紹介させて頂きましたSQLのWITH句を使って再帰問合せを試して
みたいと思います。
(SQLの実行環境は前回同様、クラウド上の実行環境を利用しています。)

WITH句自体はoracle9iからサポートされているので10年以上前のものですが、

WITH句での再帰問合せはoracle11g R2から利用可能となっています。

ORACLEで再帰問合せと言えば、階層問合せ(CONNECT BY句)などもありますが、
WITH句を使った再帰問合せの方が幅広い使い方ができます。

今回はWITH句の再帰問合せを利用して月初から基準日までの日数分のレコード行
を取得してみます。

20141215_015

条件次第で2日毎や毎週月曜日、営業日のみを対象としてレコード行を取得する
事もできます。これまでプログラムで実現していた部分も工夫次第でSQLで動的に
実装する事ができるのでぜひ使ってみてください。

SQLのWITH句を使ってみる

2014 年 9 月 16 日 火曜日 by O谷

今回はSQLのWITH句をご紹介させて頂きます。

WITH句ではSQL文中で利用できる一時表を定義でき、そのSQL文中であれば繰り返し利用できます。

(SQLの実行環境とデータについては、以前にご紹介させて頂きましたクラウド上でSQLが実行できる APECとそのサンプルデータを利用しています。 )

まずWITH句を利用しない場合のSQLがこちらです。

0011

これをWITH句で書き換えるとこうなります。

002

インラインビューやサブクエリーに記述した内容をWITH句に定義することで可読性も上がりますし、 同じサブクエリーを複数回利用したい場合などにも有効です。

今回、ご紹介したSQLだと効果が分かりづらいかもしれませんが、複雑なSQLを記述する際などは大変便利なので使ってみてください。

なお、WITH句では他にも再帰SQLとして実装する事も可能ですが、また別の機会にご紹介させて頂きます。

クラウド上のデータベースでSQLを実行してみる

2014 年 7 月 14 日 月曜日 by O谷

SQLで色々遊んでみたいがインストールは面倒なので、クラウド上でSQLの実行できるAPECを試してみました。

20140713_1

https://apex.oracle.com/i/index.html

(さらに…)

「性別」列のインデックス付与について

2012 年 5 月 14 日 月曜日 by yasukuni

データベースのインデックスを張る際によく「性別」に付けても意味が無いと言われたりしますが、実際の所どうなのでしょうか?(SQL Serverで)試してみました。

で。結論から言うと遅くなります。(というか使用されません) ただし…

(さらに…)

Key Value Storeのデータモデル

2011 年 5 月 30 日 月曜日 by Cooney

NoSQLという言葉をあちこちでよく聞くようになってずいぶん経ちますが
今ひとつイメージが沸かないといった人も多いようですし、私もそうです。
が、そうも言っておられません。
使い慣れたリレーショナルデータベースとどう違うか、
今回はNoSQLのうちKey Value Store(KVS)と呼ばれるモデルの簡単な説明を試みます。
(さらに…)

新しいMySQL Workbenchの日本語化を試みる

2011 年 2 月 14 日 月曜日 by 山平

以前に紹介したMySQL Workbenchがバージョンアップしているようです。
開発が進んで実用レベルになってきたことを期待して再度レビューしてみましょう。

(さらに…)

DBを使ったIPアドレス管理~解説編~

2010 年 9 月 10 日 金曜日 by 山平

前々回(DBを使ったIPアドレス管理~任意のレンジで抽出する~)、前回(DBを使ったIPアドレス管理~積集合でレンジを表現する~)と2回にわたってIPアドレスをDBで管理する方法を検討しました。
改めて読み返してみると、2回目の説明が少なすぎるように思いましたので、少し解説したいと思います。
1回目の内容についてはそれなりに解説できていること、2回目の内容のほとんどの考え方は1回目の解説で理解できることから、2回目の「利用可能なレンジの一覧」を取得するSQLについて解説します。

(さらに…)

DBを使ったIPアドレス管理~積集合でレンジを表現する~

2010 年 8 月 17 日 火曜日 by 山平

前回(DBを使ったIPアドレス管理~任意のレンジで抽出する~)、煩わしいIPアドレスの管理をDBを利用してもっとスマートに行なえないかを考えてみましたが、実装上の弱点が残ってしまいました。

今回はその弱点を解決すべく検討した結果です。

(さらに…)

DBを使ったIPアドレス管理~任意のレンジで抽出する~

2010 年 7 月 15 日 木曜日 by 山平

IPアドレスを管理する場合、大抵Excelを使って一覧を作っていると思いますが、もっと効率よくIPアドレスを管理する方法はないものかと前々から思い悩んでいました。
今回はデータベースでIPアドレスを管理し、使用中または未使用のアドレスを任意のレンジで抽出できるように試行錯誤した結果の記録です。

(さらに…)

SQLite管理ツール「SQLitebrowser」を試した記録

2010 年 3 月 1 日 月曜日 by 山平

SQLiteを使ってみるにあたって、管理ツールはないものかと探してみた記録です。

wikipediaのSQLiteの項によると、日本語表示可能な管理ツール「SQLiteManager」があるとのことですが、本家サイトの情報もまだまとまりきっていないようなので、ubuntu公式パッケージになっている「SQLite browser」を試してみます。(注:Ubuntuパッケージ名は「SQLite browser」ですが、公式名称は「SQLite Database Browser」のようです。 )

環境はUbuntu8.04です。

(さらに…)