BLOG

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



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



昨日は会社から有休をいただきまして…。1日お休みでした。

口座開設だったり、ガスの開栓だったり、区役所での住民票取得だったり会社に提出する書類の準備を用意しました~。







やっとガスの開栓が終わったのでお湯が使えます(><)

これだけお湯を待ち望んだ日々は、今までの人生一度もなかったことでしょう。









ただ昨日は休みだったのに非常に疲れました…。









区役所に行っては住民票1つもらうだけなのに40分ほど待たされ…。

警察署では12:00-13:00がお昼休みとは知らず…。免許更新するのに1時間近く警察署に滞在し…。

三菱東京UFJ銀行で口座開設したかったのに、誤って三菱信託銀行に向かってしまい遠回りし…。

やっとの思いで三菱東京UFJ銀行に着いたら「口座開設は窓口だと1時間待ち、テレビ電話だと30分待ち」と言われ…。














その後食材や家具を買って家に帰ったのですが 。


11時に家を出たのに、家に着いたのは16時ちょいまえ…。












なんて日だっっっ!!!!!!



自己学習は簡単な事しかできませんでした…(・・;)



こんな日ありますよね…。待たなければ2~3時間早く終わったのに。

平日は意外と混んでるもんですね~。






でも今日は早起きして朝からコンビニで面談対策を少し進めました。

あとはもうちょい詰めてって、ロープレを何度か行って本番に望みたいと思います。





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

◆本日の内容



 今日はSQLの課題を進めました。

課題が目標まで終えることができませんでした…。ただ覚えることはかなりあったのでしっかりと内容を

頭に叩き込みたいと思っております。


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

 ・テーブルの作成(コピー)
 ・テーブルの比較
 ・すべての表示、または制限しての表示
 ・CASEを使った条件分岐からの表示
 ・文字の切り取りからの表示(STRINGS)

◆所感




 SQL、条件分岐が複雑で難しい…。指定の方法とかがわからず、課題を1つこなすのに30分近くかかってます…。

たくさんのことを覚えなくてはいけない状況…。





結構スケジュールがハードです( ;∀;)

覚えたことを忘れてしまって、思い出しながらやることもしばしば…。





頑張らないとですな(>_<)



~オーダーaとオーダーbのテーブルの比較~


SELECT * FROM test.orders_a;
INSERT INTO test.orders_a
VALUES
(1,"2014-5-15","コーラ",1,180,3,540),
(2,"2014-5-15","ピラフ",2,540,1,540),
(3,"2015-9-9","ハンバーグ",2,780,1,780),
(4,"2016-4-10","かぼちゃプリン",3,210,4,840);

/* orders_bのテーブル

SELECT * FROM test.orders_b;
INSERT INTO test.orders_b
VALUES
(1,"2014-5-20","コーラ",1,180,1,180),
(2,"2014-5-21","ライス",2,300,2,600),
(3,"2015-10-15","ラーメン",2,680,1,680),
(4,"2016-7-22","豚汁",2,420,1,420);

*/


/* id順にすべてのデータを抽出 */
SELECT *
FROM
	orders_a;
    

/* id順に表示 */
SELECT *
FROM
	orders_a
ORDER BY
	id;


/* 単価の低い順、商品名と単価のみ表示 */
SELECT name , unit_price
FROM
	orders_a
ORDER BY
	unit_price asc;


/* 単価の高い順、商品名と単価を3つまで表示 */
SELECT name , unit_price
FROM
	orders_a
ORDER BY
	unit_price desc
    LIMIT 3;


/* orders_aとorders_bの表を1つとして商品名を取得 */
SELECT name
FROM
	orders_a
UNION
SELECT name
FROM
	orders_b;


/* 重複を除いた日付一覧 */
SELECT DISTINCT dating
FROM
	orders_a;



 ORDER BY とはソートを行ってくれる機能です。ascとは昇順(Ascending)の略、descとは降順(Descending)の略で

入力することによりデータ出力時に並び替えます。例えば36行目の”単価の低い順、商品名と単価のみ表示”では

商品名と単価を選んでおり、単価の昇順 asc を用いているため以下のような出力になります。



                name   |  unit_price 
             —————————————————————
                コーラ   |    180
               かぼちゃプリン |   210
                 ピラフ   |   540
                ハンバーグ  |   780



 また、44行目の”単価の高い順、商品名と単価を3つまで表示”では、商品名と単価を選んでおり、単価の

降順 desc を用いており、更にLIMITで表示する行数を指定してるので以下のような出力になります。



                 name   |  unit_price 
              —————————————————————
                ハンバーグ  |   780
                 ピラフ   |   540
                かぼちゃプリン|   210



3つまでしか表示できないようLIMITで指定しているので、コーラの表示を消すことができました。




 また、 53行目の”orders_aとorders_bの表を1つとして商品名を取得”では、両方の商品名だけを

UNIONで抜き取っているので、下記のような表になります。



                    name  
                 ————————————
                    コーラ
                  かぼちゃプリン
                    ピラフ
                   ハンバーグ
                    ライス
                    ラーメン
                     豚汁



両方のテーブルに”コーラ”が商品名としてあるのですが、UNIONでまとめると重複しているので

1回出力すると再度出力しなくなります。


もし重複するデータも出力したい場合はUNION ALLとすると出力可能となります。


◆一言



 今回学んだ抽出は、指定して抜き出したり昇順や降順に並び替えることができるため、ランキングを作ったり

大量のデータから指定した一部だけを抜き出すのに非常に便利な機能であると思いました。


 また、記載はないですが条件分岐を用いればもっと細かく指定できるのでしっかりと復習し使い慣れたいと思います。



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

BLOGトップへ戻る