BLOG

【プログラマー 研修 Java】 あおの記録6



こんにちは、あおです\(^0^)/





今日講師から「お昼を食べないのか」と聞かれました。お腹が空かないわけではないのですが、

毎時間ずっとジュースを飲んでいるため、あまりご飯を食べたいという気持ちにならなくて…。



心配していただきましたが、ほんとに栄養失調で倒れたらどうしよう(笑)。

こんな毎日多量のジュースを飲んでいるが、大丈夫なのだろうか…。



なんか落ち着かないんですよね、飲み物が近くにないと…。

タバコ中毒に似ているんでしょうか…。

私はタバコの臭いが嫌いなのでタバコは吸わないのですが(笑)。













そういえば昨日、家に帰る途中とある出来事が起こりまして。












いつも通りスーパーで買い物をした後帰り道を歩いていると…。













女性「こんばんわぁ~」



夜道で急に声をかけられて、私は思わずハッとしました。



携帯をいじってたからなおさらびっくりしましたが…。






なんだろうと思って話を聞いたら…。

























営業でした。






女性「テレビで紹介された商品を売ってるんですけど、お1ついかがですかぁ~」



自分「そうなんですね…。いあーーまぁ、大丈夫かな((;’∀’))」



女性「甘いのとかお好きじゃないですか?チョコとか生クリームが入っているんですけど~」



自分「ごめんなさい、自分甘いのは好きじゃないんですよ。チョコとか嫌いなので…。」



女性「いちご味もあるんですよ~」



自分「いちごはもっと嫌いです…。そもそも甘い食べ物は買わないんですよ。」



女性「ならチーズケーキとかどうですか?このチーズケーキは甘くなくて美味しいですよ!」



自分「まぁ、食べれなくはないですが…。」



女性「良かったら見ていってくださーい」



そういって女性は台車の中からメニューを取り出し、私に差し出してきた。









自分「(てかほんと甘いの多いな………。えっチーズケーキ1200円するじゃん、たかっ!!!)」






女性「どうですか?人気の商品も多くて…。売り切れてしまったのも多いんですよ」



自分「へぇーそうなんですね…。まぁチーズケーキ買ってもなぁ…。」



女性「誕生日の方とかいらっしゃったりしませんか?1ヶ月以上日持ちするので~」



自分「あっ、自分が一昨日誕生日でした…。」



女性「おめでとうございます!ケーキ食べましたか?」



自分「いや、ケーキ買う機会もなかったので…。」



女性「なら是非とも(*’ω’*)甘くないのでオススメですよぉ~」













自分「…はい、…じゃあ1つください。」



女性「ありがとうございます!」













こうして買う気がなかったチーズケーキを買ってしまいました(・・ ; )



まぁ見知らぬ私に声かけて頑張ってたし、寒い中サジェストしてくれたからと…。


こんな経験は人生初めてです…。












1000円もあればおいしいお刺身買えたのに(><)



ネタになったからよしとしよう(笑)。


チーズはめっちゃ好きなので!せっかくの機会だったし、大事に食べたいと思います(^0^)/






雑談はここまで!本日の研修内容を書いていきます。



◆本日の内容

 
 今日はJavaの課題「7.テーブル結合」をメインに学習しましたが、前回のブログでお伝えした通り、

「副問い合わせ」を記載したいと思います。


今日は主に以下の内容を学習いたしました

 ・グループ化
 ・副問い合わせ
 ・テーブル結合


◆所感


 副問い合わせはほんと難しかったです…。そもそも副問い合わせと聞いて、イメージしづらい言葉で…。


 今までSQLではSELECTで目的とする列を指定していましたが、なんとこのSELECTを2度以上

使うという…。そしてより細かく指定するのに用いるときに使います。


 簡単なイメージでいうとSELECT文に対して更にSELECT文を用いる感じです。



~売上記録・返品記録~


 

 

 


 上記の通り、SELECTの中でSELECTを使っていますが、これが副問い合わせです。私も初めて見たとき

混乱していてよくわからなかったのですが、一つ一つ落ち着いて見ていけば、何をしているかわかります。


 例えば17行目の”売れてない商品名一覧の抽出”では、いつも通りテーブルの指定やカラムの指定は

問題ないと思います。副問い合わせと NOT IN を組み合わせることによってsalesテーブルに

product_codeの値がないものを指定しています。 今回の場合、以下のような出力になります。



                product_name
              ——————————————
                  りんご



 また、33行目の”返品されてしまった商品名一覧の確認方法”ではWHEREで条件を指定していてsalesテーブルの

product_codeの値が一致したものを指定しています。 今回の場合、以下のような出力になります。



                product_name
              ——————————————
                 ミルクティー



 また、51行目の”スーパードライの売れた本数”では、6月~8月と問題文にて指定があったのでWHEREで条件を

指定しつつさらにBETWEENで日にちのどっからどこまでを指定しました。カウント数にはtotal というカラム名を

つけました。外側ではスーパードライを指定するため、ここでもWHEREを使います。 今回の場合、以下のような

出力になります。



             SUM(entry_exit)| product_name   |  total
            —————————————————————————————
                5   | スーパードライ  |   60



 また、72行目の”返品を考慮した売上数量”ではsale_count_tmpというカラムを作っています。

sale_countの値がマイナスであれば返品の記録であり、逆にプラスであれば売上の記録である。

このことをCASE式にて条件を指定しています。そしてsale_count_tmpにて各値を表示しています。

あとはSUMを使って返品を考慮した売上数量を表しています。 今回の場合、以下のような出力になります。




               product_code |  sale_count_tmp
              —————————————————————
                  2    |     1
                  3    |     3
                  4    |     4
                  5    |    20
                  5    |    40
                  5    |    30
                  6    |    70
                  6    |    -5


               product_code |   total_count
              —————————————————————
                  5    |    90
                  6    |    65
                  3    |     3
                  4    |     3
                  2    |     1



◆一言

 
 今回、副問い合わせについてブログを記載しました。SELECT文をSELECTで指定するという文字だけだと

何を意味しているのかわかりづらかったです。ただ実際にテーブルを作って記述していくと、どこで何を指定して

いるのかを考えながらできたのでよかったです。



次回は「Java課題」について記載したいと思っております。





では皆さん、次回のブログまでさようなら(*’ω’*)


BLOGトップへ戻る