誰にでもできる!システム開発

  • ¥0

    無料

73%は失敗と言われている、システム開発プロジェクトを成功させるためのテクニックや考え方をお届けします。新人エンジニアが失敗しやすいポイントも詳しく解説しています。

著者サイト
   
 

このメルマガは現在休刊中です

 
メルマガ名
誰にでもできる!システム開発
発行周期
第1・第3月曜日(祝日は休刊)
最終発行日
2009年03月16日
 
発行部数
0部
メルマガID
0000263428
形式
PC・携帯向け/テキスト形式
カテゴリ
インターネット・パソコン > インターネット > 初心者向け

まぐまぐ!メールマガジンの用語集です。
下記の用語以外の不明な点はこちらをご覧ください。

 
発行周期
週1回、月1回などの発行頻度です。
部数
メルマガの配信数を記しています。
カテゴリ
まぐまぐ!に登録されているカテゴリです。
形式
メルマガには以下の配信形式があります。下部「メルマガ形式」をご参照下さい。
 
最終発行日
最後にメルマガが配信された日付です。
メルマガID
メルマガを特定するIDです。
RSSフィード
RSSを登録すると、更新情報を受け取ることができます。

― メルマガ形式 ―

  • PC向け
    パソコンでの閲覧に最適化したメルマガ
  • 携帯向け
    スマートフォンやフィーチャーフォンでの
  • PC・携帯向け
    PC・携帯どちらでも快適にご購読いただけます。
  • テキスト形式
    文書だけで構成された、一般的なメールです。
  • HTML形式
    ホームページのように文字や画像が装飾されたメールです。
  • テキスト・HTML形式
    号によって形式が変更する場合があります。

閉じる

メールマガジン最新号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

『誰にでもできる!システム開発』 2009/03/16 号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 ご愛読、ありがとうございます。

 このメールマガジンは、システム開発を始めたばかりの方、これから始める
 方向けに、筆者が日頃から心がけていることをお話しています。

 扱う内容については、テクニックと考え方を半分ずつで構成しています。


 著者プロフィール
  http://www.shiga-it-office.com/mailmagazine/writer.html

 事務所概要
  http://www.shiga-it-office.com/profile.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■第34回 SQLの小技
────────────────────────────────────

 前々回、前回とサブクエリを説明しました。
 今回は、その応用を紹介したいと思います。


 実例を通して紹介しますので、以下のサンプルテーブルをご覧ください。

 ・取引明細2月
 ---------------------------------------------
 | 取引番号 | 顧客コード | 商品コード | 数量 |
 -----------+------------+------------+-------
 | 09020001 | 0001 | A001 | 10 |
 -----------+------------+------------+-------
 | 09020002 | 0001 | B001 | 5 |
 -----------+------------+------------+-------
 | 09020003 | 0002 | A002 | 8 |
 -----------+------------+------------+-------
 | 09020004 | 0003 | A001 | 25 |
 -----------+------------+------------+-------
 | 09020005 | 0001 | B002 | 15 |
 ---------------------------------------------

 ・取引明細3月
 ---------------------------------------------
 | 取引番号 | 顧客コード | 商品コード | 数量 |
 -----------+------------+------------+-------
 | 09030001 | 0001 | A001 | 15 |
 -----------+------------+------------+-------
 | 09030002 | 0005 | C001 | 10 |
 -----------+------------+------------+-------
 | 09030003 | 0006 | B002 | 20 |
 -----------+------------+------------+-------
 | 09030004 | 0007 | A001 | 5 |
 -----------+------------+------------+-------
 | 09030005 | 0008 | A002 | 3 |
 ---------------------------------------------

 ・商品
 ----------------------------------
 | 商品コード | 商品名 | 単価 |
 -------------+------------+-------
 | A001 | 抹茶ケーキ | 200 |
 -------------+------------+-------
 | A002 | モンブラン | 250 |
 -------------+------------+-------
 | B001 | クッキー | 80 |
 -------------+------------+-------
 | B002 | ビスケット | 70 |
 -------------+------------+-------
 | C001 | マシュマロ | 100 |
 ----------------------------------


●片方にあって、もう片方に無いデータ

 2月は売れていたけど3月になったら売れなくなった商品を知りたい場合、
 取引明細2月にあるが、取引明細3月に存在しない商品コードを選択すれば
 よいことになります。

 取引明細2月をベースにして、取引明細3月に存在する商品すべてを否定し
 た以下のようなサブクエリで実現できますね。

 SELECT
  商品コード
 FROM
  取引明細2月
 WHERE
  商品コード NOT IN (
  SELECT
  商品コード
  FROM
  取引明細3月
  )

 --------------
 | 商品コード |
 --------------
 | B001 |
 --------------

 また、このケースでは以下のように記述しても全く同じ結果が得られます。

 SELECT
  商品コード
 FROM
  取引明細2月
 WHERE
  NOT EXISTS (
  SELECT *
  FROM
  取引明細3月
  WHERE
  取引明細2月.商品コード = 取引明細3月.商品コード
  )

 2つのSQLの違いは何でしょうか?
 実は大きな違いがあるのです。

 最初のSQLでは、サブクエリ結果をNOT INとしています。
 INは、指定したもの全てに対し、対象であるかをチェックします。

 一方、2番目のSQLでは、NOT EXISTSを使用しています。
 EXISTSは存在確認の構文であり、一つでも存在するかを返すため、対象全て
 をチェックはしません。

 取引明細2月、取引明細3月ともに、商品コードにA001が複数存在します。
 NOT EXISTSを使用すると、A001が最初に一致した段階で存在確認が終わるた
 め、それ以降の組み合わせについてチェックをせず、その分早くなります。

 そして、本来の目的も「2月に存在して、3月に存在しない商品を求める」
 ということですので、存在確認であるEXISTS構文を使用する方が、目的と手
 段が一致しているとも言えますね。


●複数のクエリ結果を結合する

 取引量の多い商品を知るため、2月分・3月分の取引数量が10以上の明細を
 まとめてみましょう。

 例えば2月分であれば、

 SELECT
  *
 FROM
  取引明細2月
 WHERE
  数量 >= 10

 となります。
 3月分も、テーブル名が変わるだけですね。

 そして、クエリ結果を結合するには、UNIONを使用します。

 SELECT
  *
 FROM
  取引明細2月
 WHERE
  数量 >= 10
 UNION ALL
 SELECT
  *
 FROM
  取引明細3月
 WHERE
  数量 >= 10

 ---------------------------------------------
 | 取引番号 | 顧客コード | 商品コード | 数量 |
 -----------+------------+------------+-------
 | 09020001 | 0001 | A001 | 10 |
 -----------+------------+------------+-------
 | 09020004 | 0003 | A001 | 25 |
 -----------+------------+------------+-------
 | 09020005 | 0001 | B002 | 15 |
 -----------+------------+------------+-------
 | 09030001 | 0001 | A001 | 15 |
 -----------+------------+------------+-------
 | 09030002 | 0005 | C001 | 10 |
 -----------+------------+------------+-------
 | 09030003 | 0006 | B002 | 20 |
 ---------------------------------------------

------------------------------------------------------------------------
■編集後記

 最後までお読みいただき、ありがとうございました。


 前回宣言したとおり、今回で最終回となります。
 創刊が昨年の5月19日ですので、約10ヶ月間に渡って配信してきたことにな
 ります。

 その間、日本経済は大きく減退しておりまして、その影響はソフトウェア業
 界にも及んでおります。

 かつてソフトウェア業界は成長を続けていて、慢性的な人不足だと言われて
 おりました。

 営業同士が顔を合わせれば、「誰でもいいから人いない?」が合言葉みたい
 なもので、そんな時代だったからなのか、全くの素人が人材派遣に参入して
 それなりに成功することも珍しくありませんでした。

 案件リストが営業の間で回ってくるので、エンジニアをどんどん送り込んで
 いきます。請負の請負で案件が回ってきますので、エンドユーザーからみて
 何次請けなのか分からないことも多いです。

 それでも人を回し続ければお金が入ってきますので、誰でもいいから人をか
 き集めて送り込み続けるというビジネスが出来上がります。

 派遣バブルですね。


 しかし、状況は変わっています。
 「何でもいいから仕事無い?」が合言葉になりつつあります。

 力の無い会社、エンジニアには生きにくい時代になってきたのです。

 価値を作り出せない人・会社は市場から追い出されます。
 これは当然のことなのですが、市場が成長しているときには見落とされがち
 になります。

 このメールマガジンを創刊したのは、そんな状況を予想してのことでした。
 下手な文章ではありましたが、皆さんに支えられて、ここまで発行すること
 ができました。

 本当にありがとうございました。


 なお、「誰にでもできる!インターネット活用術」は今後も変わらず配信を
 続けていきますので、まだご購読されていない方は是非ご登録ください。
   http://www.mag2.com/m/0000263426.html


 ご感想・ご意見・ご要望などありましたら、気軽にご連絡ください♪
 ご購読ありがとうございました!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
『誰にでもできる!システム開発』 2009/03/16 号

 本日のメールマガジンを読んだ感想をお聞かせください。
 お寄せいただいた感想は、メールマガジン上で紹介させていただくことが
 ありますので、ご了承ください。

 配信中止はこちらから↓
  http://www.mag2.com/m/0000263428.html
 メールアドレスの変更はこちらから↓
  http://www.mag2.com/m/0000263428.html
 ご意見&ご感想はこちらから↓
  http://www.shiga-it-office.com/mailmagazine/ImpressionFrom.html
 コンサルティングのご相談はこちらから↓
  http://www.shiga-it-office.com/inquiry.html


 発行元 志賀IT事務所
   http://www.shiga-it-office.com/

 関連メールマガジン 「誰にでもできる!インターネット活用術」
   http://www.mag2.com/m/0000263426.html

 関連ブログ
  ☆コンサル日和
   http://d.hatena.ne.jp/kei_onpu/
  ☆爆裂!C#野郎
   http://csharp.yaminabe.info/
  ☆10年戦える開発技術
   http://10year.yaminabe.info/
  ☆情報処理技術者試験午前対策
   http://am.yaminabe.info/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
メルマガ全文を読む
 

▲ページトップへ

▲ページトップへ