ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

「キーボードの掃除は皿洗い機におまかせ」まじっすかあ(@_@!)

2007-06-17 16:09:22 | Weblog

ここのスラッシュドットニュース
キーボードの掃除は皿洗い機におまかせ
http://slashdot.jp/hardware/07/06/16/173230.shtml

によると(以下斜体は上記サイトより引用)

最近ではキーボードを自動皿洗い機で洗うというソリューションが注目されているようだ。例えばNational Public Radioの記事では、Plastic Bugsの記事を参考に記者がキーボード洗いに挑戦している。洗剤は入れてもいいが「温風乾燥」は避け、一週間ほど時間をかけて自然乾燥させるのがコツらしい。


いや、たしかにキーボードの掃除は、したいときはありますよ、
でも・・

まじっすかあ。。。
「キーボードの掃除は皿洗い機におまかせ」
すかあー(@_@!)

大丈夫なのかなあ。。
この前、ウィリアムのいたずらが、お仕事もらってた会社に行ったら、
キーボードをただ、掃除しただけで壊しちゃった人がいるくらいなのに。。

サラ洗い機で、あらって、だいじょうぶですかあ。。

。。。もし、やってみる人は、自己責任で。
ウィリアムのいたずらは、どーなってもしりませんよ(^^;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その24:外部スキーマ(8)SQLその7)

2007-06-17 11:08:46 | 土日シリーズ

情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

いま、SQLをやっています。
SQLは検索(select)、挿入(insert)、削除(delete)、更新(update)とあって、今回はSELECTを2つ繋げるUNION、INTERSECT、EXCEPTです。




■下準備
いままで、ACCESSを使ってやっていたので、こんかいも。
前回までの
社員テーブル(SHAIN_TBL)

出席テーブル(SYUSSEKI_TBL)


に、以下のような
退職テーブル (TAISHOKU_TBL)

応募テーブル(OUBO_TBL)

を加えて考えます。

ちなみに、正規化理論で考えると、応募者テーブルと、社員テーブルがダブっているようにみえるかもしれませんが、社員がかならず、応募者の中から取っているかびみょーだし(派遣から社員になったケース)そーすると、データがないし・・また検索的にJOINが増えるのは。。ということで、同じようなデータが入っています。退職テーブルと社員テーブルは、項目は同じですが、同じデータが入ることはありません(社員が退職し、社員テーブルから削除された後、退職テーブルに追加される)




■UNION、INTERSECT、EXCEPT

これは、SELECTの結果を2つつなげるのですが、

SELECT文1 UNION SELECT文2
 の場合は、SELECT文1の内容とSELECT文2の内容を2つ合わせて表示します。

SELECT文1 INTERSECT SELECT文2
 の場合は、SELECT文1の内容とSELECT文2の両方にあるものを表示します。

SELECT文1 EXCEPT SELECT文2
 の場合は、SELECT文1にあって、SELECT文2にないものを表示します。

なお、上記の場合、重複行は出ません。重複行も出す場合は
UNION ALLのように、ALLをつけます
(PostgreSQLの場合の説明は、ここ




■UNIONの例

では、
社員テーブルにあって、出席テーブルのイベント番号123の人と、
退職テーブルにあって、出席テーブルのイベント番号123の人の
UNIONを表示してみましょう
前回、出席テーブルに、退職者がいて(社員番号3番)その人の名前が表示できませんでした。
今回は、退職テーブルとあわせることで、それが可能になります。




■ACCESSでは

まず、上にあげたテーブルを全部作ったら、
ユニオンクエリをつくります。
クエリで、「デザインビューでクエリを作成する」にしたら、
表示→SQLビューで、SQLが入力できる画面にします。

ここから入力しても言いし、さらに、こうすると、「クエリ」というメニューがでるので
クエリ→SQL→ユニオン
にして、ユニオンクエリ用の画面にしてもいいです。
とにかく、そうしたら、このように入れましょう

SELECT SYUSSEKI_TBL.SHAINID, SHAIN_TBL.SEI, SHAIN_TBL.MEI
FROM SHAIN_TBL INNER JOIN SYUSSEKI_TBL ON SHAIN_TBL.SHAINID = SYUSSEKI_TBL.SHAINID
WHERE (((SYUSSEKI_TBL.EVENTID)=123))
UNION
SELECT TAISHOKU_TBL.SHAINID, TAISHOKU_TBL.SEI, TAISHOKU_TBL.MEI
FROM TAISHOKU_TBL INNER JOIN SYUSSEKI_TBL ON TAISHOKU_TBL.SHAINID = SYUSSEKI_TBL.SHAINID
WHERE (((SYUSSEKI_TBL.EVENTID)=123));


複雑なのですが、
1.まず、UNIONの前までのSELECT文をクエリ機能を使って作っておき、うまくいくことを確認したら、デザインビューでSQLにして、
2.UNIONの後のSELECT文も同様にしてSQLにして
3.それを、ユニオンクエリ用の画面にはり、1の終わりの;をとって、UNIONをいれる

とできます。

結果はこんなかんじ。





■ACCESSで、INTERSECT、EXCEPTは?

2007年に応募した人と社員テーブルのINTERSECT
(結果は2007年に応募した社員がでるはず)は

SELECT [SHAIN_TBL].[SHAINID], [SHAIN_TBL].[SEI], [SHAIN_TBL].[MEI]
FROM SHAIN_TBL
INTERSECT
SELECT OUBO_TBL.SHAINID, OUBO_TBL.SEI, OUBO_TBL.MEI
FROM OUBO_TBL
WHERE (((OUBO_TBL.OUBONEN)=2007));


社員テーブルと2007年に応募した人とのEXCEPT
(結果は2007年以外に応募した社員がでるはず)は

SELECT [SHAIN_TBL].[SHAINID], [SHAIN_TBL].[SEI], [SHAIN_TBL].[MEI]
FROM SHAIN_TBL
EXCEPT
SELECT OUBO_TBL.SHAINID, OUBO_TBL.SEI, OUBO_TBL.MEI
FROM OUBO_TBL
WHERE (((OUBO_TBL.OUBONEN)=2007));


のはずですが、ACCESSでこれをやると、FROM句のエラーになります。




ということで、UNION関係はおしまいです。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

楽天とTBS、そもそも今のTBSと提携して、楽天はメリットあるのか?

2007-06-17 03:12:03 | Weblog

ここのニュース
TBS・楽天が非難の応酬=融和の兆し見えず
http://headlines.yahoo.co.jp/hl?a=20070616-00000096-jij-bus_all


楽天はまだ、TBSとの提携を考えているのだろうか。。
たしかに放送と通信の融合といわれた時代のTBSなら、提携効果はあったけど、
今のTBSと提携しても。。。
もし提携したら、TBSが問題起こしたら、楽天の株価まで下がっちゃうわけだし。。

うーん、メリットあるんですかねえ。。
楽天がTBSと提携して?


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする