トップページに戻る
DSP受験記
記事(OTN)
記事(CodeZine)
MSDN C#
@IT C#入門
2006年 2月16日から2007年 7月28日までのブログ
2007年 8月 1日から2007年10月28日までのブログ
2007年10月20日から2008年 5月 8日までのブログ
2008年 5月22日から2008年 9月 3日までのブログ
2008年 9月 4日から2009年 2月 4日までのブログ
2009年 2月 7日から2009年 5月20日までのブログ
2009年 5月22日から2009年 7月13日までのブログ
2009年 7月15日から2009年11月11日までのブログ
2009年11月14日から2010年 3月13日までのブログ
2010年 3月15日から2010年 7月21日までのブログ
2010年 7月24日から2011年 3月29日までのブログ
2011年 3月30日から2012年 1月11日までのブログ
2012年 1月18日から2014年 3月18日までのブログ
2014年 3月21日から2014年11月15日までのブログ
2014年11月22日から2015年 3月 1日までのブログ
2015年 3月15日から2015年 5月30日までのブログ
2015年 6月 7日から2018年 4月24日までのブログ
2018年 7月21日から2021年 2月19日までのブログ
最新のブログ
●2010年7月24日(土)
予習復習を前提とした勉強会の第4段、
【SQL上級編2】 DB2でSQL徹底指南書の問題を華麗に解くパート1は無事に終了しました。
どうもありがとうございました。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
4. メジアンを求める (70ページ)の補足
中央値(メジアン)を求める方法の元ネタとなった、Joe Celko導師の解説サイト Median Workbench
ClubDB2の資料では、
WHERE hi IN (lo, lo+1, lo-1) を移項して、
WHERE hi-lo IN (0, 1, -1) さらに変形して、
WHERE hi-lo IN (-1, 0, 1) としてます。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
6. 集合の相等性チェック (124ページ)の
group byのキーの中での関数従属性に関する説明の補足です。
group by A でグループ化した結果と、
列Aに関数従属している列を、group by句に追加し、
group by A,B でグループ化した結果は、同じとなります。
関数従属性は、データベーススペシャリストの試験でよく出てきます。
データベースエンジニアへの道
関数従属性とは、「ある属性Aの値が決まるとき、属性Bが一意に決まる」ことをいい、
「A→B」と表記します。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
6. 集合の相等性チェック (124ページ)のQAの補足
Q 重複行を許可した集合同士でも大丈夫ですか?
A exceptではなくexcept allを使ってますので、重複行を許可した集合同士でも大丈夫です。
DB2とPostgreSQLでは、except allが使えまが、
OracleやSQLServerのような、except allが使えないDBでは、
Row_Number() over(partition by テーブルの全ての列 order by 適当なソートキー)を事前に使って、
一意な集合にしておく必要があります。
TblAとTblBは等しい。TblAとTblCは等しくない。という例でのサンプルです。
create table TblA(Val Integer);
create table TblB(Val Integer);
create table TblC(Val Integer);
insert into TblA values(1),(1),(2);
insert into TblB values(1),(1),(2);
insert into TblC values(1),(2),(2);
db2 => --TblAとTblBのデータが同じかを確認
db2 => select a.*,count(*) over()
db2 => from TblA a
db2 => except all
db2 => select a.*,count(*) over()
db2 => from TblB a;
VAL 2
--- ---
0 レコードが選択されました。
db2 => --TblAとTblCのデータが同じかを確認
db2 => select a.*,count(*) over()
db2 => from TblA a
db2 => except all
db2 => select a.*,count(*) over()
db2 => from TblC a;
VAL 2
--- ---
1 3
1 レコードが選択されました。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
8. 等しい部分集合を見つける (132ページ)のQAの補足
Q with句のselect文が複数回実行されたりしませんか?
A PostgreSQLでは、1回しか実行されない仕様です。回帰テストのテスト項目にもあるそうです。
[PostgreSQLウォッチ]第39回 PostgreSQL 8.4の新機能「再帰SQL」と最新情報
DB2の場合も、日本語のマニュアル「SQL Reference, Volume 1」の752ページによると
1回しか実行されない仕様のようですね。
共通表式は、複雑な照会内の一時ビューのようなものです。
それは照会内のほかの場所から参照することができ、ビューの代わりに使用できます。
複雑な照会の中で特定の共通表式を使用する場合、それぞれが同じ一時ビューを共用することになります。
db2 => with work(Val) as(
db2 => values(Rand),(Rand),(Rand),(Rand),(Rand))
db2 => select * from work
db2 => except all
db2 => select * from work;
VAL
---
0 レコードが選択されました。
●2010年8月2日(月)
英語 US-OTN --- How to calculate no of days in an year
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
US-OTN --- hierarchy query and number of subnodes
model句で強引に求めてみました :-)
with tab(ID,parent_id,description) as(
select 1,null,'Main node' from dual union
select 2, 1,'Module 1' from dual union
select 3, 2,'Module 1 subnode 1' from dual union
select 4, 2,'Module 1 subnode 2' from dual union
select 5, 2,'Module 1 subnode 3' from dual union
select 6, 1,'Module 2' from dual union
select 7, 1,'Module 3' from dual union
select 8, 7,'Module 3 subnode 1' from dual),
rec(ID,parent_id,description,path) as(
select ID,parent_id,description,
to_char(ID,'fm9990')
from tab
where parent_id is null
union all
select b.ID,b.parent_id,b.description,
a.path || ',' || to_char(b.ID,'fm9990')
from rec a,tab b
where a.ID=b.parent_id)
search depth first by ID set rn
select *
from rec
model
dimension by(path)
measures(ID,parent_id,description,rn,0 as cnt)
rules(
cnt[any] = -1+count(*)[instr(path,cv()) > 0])
order by rn;
PATH ID PARENT_ID DESCRIPTION RN CNT
----- -- --------- ------------------ -- ---
1 1 null Main node 1 7
1,2 2 1 Module 1 2 3
1,2,3 3 2 Module 1 subnode 1 3 0
1,2,4 4 2 Module 1 subnode 2 4 0
1,2,5 5 2 Module 1 subnode 3 5 0
1,6 6 1 Module 2 6 0
1,7 7 1 Module 3 7 1
1,7,8 8 7 Module 3 subnode 1 8 0
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
US-OTN --- To sum Vals while LV is greater than its LV of target row
OTNで質問してみた。
●2010年8月5日(木)
英語 US-OTN --- ListAggで集合の相当性チェック
列が複数だと、事前に分析関数のcount関数で件数を求めてから内部結合する必要あり
英語 US-OTN --- 木のIDでupdate
更新値を持つ行のunique制約もしくはprimary key制約を持った列と等価結合していて、
かつ、階層問い合わせやgroup byで更新値を持つ行のキー情報を失ってない必要があるのだった。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
インフラエンジニアに成る:ネットワーク監視の夜勤を考える
夜早く寝る7つのコツ。
夜中のパソコンは、睡眠の質を低下させるので、自戒として
●2010年8月10日(火)
Oracleの再帰with句の理解を深めるため、まとめページを立ち上げてみた。
PostgreSQLの再帰SQLの使用例
暇をみて作っていこう。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
英語 US-OTN --- I like recursive with clause
model句では代用できない再帰with句ですね。
●2010年9月4日(土)
US-OTN --- 子ノードの総和を計算
model句のdimension指定で子にアクセスしてます。
●2010年9月18日(土)
逃げるクセがついた人は、いつまでたっても「有能感」が満たされません
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
再帰の技法 基本的考え方・アルゴリズム・プログラミング
買ってきた。
再帰といえば、
・SQLの再帰SQL
・正規表現の田中哲スペシャル
・手続き型言語の再帰呼び出し
が思いつきますが、田中哲スペシャルが苦手です。
●2010年10月23日(土)
US-OTNフォーラムのリニューアルに伴い、C#版のUS-OTN-Viewerを更新しました。
●2010年11月11日(木)
OTN-Japanのトップが私の記事の紹介になってる :-)
●2010年12月14日(火)
英語 US-OTN --- I like this Regex book
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
英語 US-OTN --- stats_mode関数のこと、たまには思い出してあげて下さい。
ネストした集約関数と
ネストしてない集約関数を併用できるとは知らなかった・・・
マニュアル --- 集計ファンクション
US-OTN --- Whether this with/withOut nested Agg function SQL behavier is documented.
with t(Val) as (
select 1 from dual union all
select 1 from dual union all
select 5 from dual union all
select 7 from dual union all
select 7 from dual union all
select 7 from dual union all
select 9 from dual)
select max(Val) keep(dense_rank last order by count(*)) as modeVal,
max(Val) as maxVal,
count(*) as Groupscnt,
max(count(*)) as maxCnt
from t
group by Val;
modeVal maxVal Groupscnt maxCnt
------- ------ --------- ------
7 9 4 3
●2011年1月9日(日)
7月のアナログテレビ放送終了に半年早いですが、テレビを片付けました。
出社前の天気予報で、傘の必要有無を確認するのに、テレビは便利でしたが、
携帯かPCでLiveDoor天気で確認するとします。
テレビを見なくなったので、時間の無駄を一気になくせます。
1月もすればテレビのない生活に、慣れるはず。
・地デジ テレビ やめる
・地デジ "脱テレビ"
・地デジ テレビ "ない生活"
・地デジ "テレビを卒業"
・地デジ "テレビ生活終了"
でgoogle検索すると同じような方々を発見。
テレビでは決して放送しないでしょうから、相当いそうですね。
これは笑った :-)
ある日突然地デジに移行、いつものようにテレビつけたら砂嵐。
「ま、いいか」の一言で数カ月放置、テレビなしでも生活が何の問題もないことに気づき、
テレビを粗大ごみに出してテレビ生活終了。
●2011年1月14日(金)
3連休で寝不足生活を送ったら口内炎になってしまった。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
電子書籍と不眠の関係
予想通りでしたが、寝る前の電子書籍はメラトミンの分泌を抑えて、睡眠の質をさげますね。
私は、紙の書籍派です。
●2011年2月8日(火)
Oracle ACEってどんな人?
Oracle ACEの1番手として、紹介されてしまった。
Oracle ACEシャツを着てます。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
★口内炎に効く食べ物
チョコラBB、CCレモン、みかん、ししゃも、魚肉ソーセージ、うなぎ、レバー
★皮膚が痒いときに効く食べ物
たまねぎ、アロエ
★痰がひどい時に効く食べ物
みかん、大根、竹の子、梨
●2011年2月13日(日)
英語 US-OTN --- I like recursive with clause B-)
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
C#ラムダ式 基礎文法最速マスター
「=>演算子」の読み方
「=>」は「goes to」(ゴーズ・トゥ)と読む。
意訳すると、「左辺のパラメータを入力して、右辺の式/文を実行する。戻り値が必要な場合は、その戻り値を返す」
という意味になる。
●2011年3月29日(火)
変わりたい、結果を出したいと思うのであれば・・・ - かみんぐあうとっ
これは参考になる。
習慣になってしまえば、続けるのは楽になると思います。
焦らないこと。あきらめないこと。精神的に落ち着くこと。集中すること。体調に気をつけること。
そういったことも普段から心に留めておきたいなと思います。
TOEIC
オライリー
翔泳社SHOP
正規表現
C#のサンプル集