言葉だけでは感情が伝わらないことの辛さ
先月の末から、コロナの影響で在宅作業になった。
在宅は別に快適だからいいけど、コミュニケーションのツールがチャットかSkypeだけになってしまうので、
どうしても相手の感情が見えない所を私は気にしてしまう。
相手に嫌われていないだろうか等。でも実際はそうではないのは十分頭ではわかっている。
だから、これからはそういうネガティブなことに考えないで仕事の内容に集中して作業するようにしたい。
そういしないと心が折れてしまう。
最近読んだ本で心を強くする方法を知ったので実践していこうと思うし、相手の言う言葉にいちいち反応せずに
ビジネスライクに進めればいいやと思う。相手にどう思われるかどうかなんて別に気にする必要はないんだから。どっちにしても。
明日もネガティブに考えないように練習しながら仕事をしたいと思う。
SQL基礎5
■UNION
・UNIONは和集合(足す)
・集合演算子は重複行を排除する。
・演算対象となるレコードの列数は同じであること。
・レコードの列数が同じでもデータ型が異なるとエラーになるため、CASTする必要あり。
・UNION句で足せるSELECT文はどんなものでOK。ただしORDER BY句はSQL内で1つしか指定できない。
・重複を排除したくない場合はALLオプションを付ける。ALLはすべての集合演算子につけることが可能。
■INTERSECT
・INTERSECTは2つのレコード集合の共通部分を選択する。
■EXCEPT
・EXCEPTは引き算を行う集合。
・はじめのFROM句のテーブルから2番目のFROM句のテーブルのレコードを引いた残りが選択される。
・はじめのFROM句に指定したテーブルを元に引き算をおこなうため、FROM句の指定順が変わると結果が異なる。
■INNER JOIN
・内部結合は2つのテーブルに存在する情報を選択する。
■OUTER JOIN
・外部結合はどちらか一方に存在している情報も出力される。
・外部結合ではどちらのテーブルをマスターテーブルにするかを指定する。
SQL基礎4
■述語
・LIKEは前方一致、中間一致、後方一致の指定であいまいな検索が可能。
・BETWEENは範囲検索を行うときに便利。
・IN述語はORの便利な省略形。ORでたくさんの条件を書くより、IN述語なら楽に記述できる。
・IN述語はサブクエリも記述可能。
■EXISTS
・EXISTSの引数は常に相関サブクエリを指定する。
・EXISTSはレコードの存在有無(TRUEかFALSE)を調べてTRUEかFALSEを返すため、
SELECT句には「SELECT *」とするのが慣習になっている。
・INをEXISTS、NOT INをNOT EXISTSに置き換えることも可能。ただし、すべてではない。
Java コレクション編1
□アウトプット用
・コレクションで良く使うのはArrayList LinkedList Set Mapなど
■ArrayList
・ArrayListで中身を取り出すには「for文・拡張for文・イテレータ」で取り出せる。
・リストの途中で要素を挿入、削除するのは苦手
■イテレータ
・イテレータとはリストに含まれている箱をココ!と指している矢印のようなものとイメージする。
・イテレータのインスタンスを作成したときは矢印が箱の前を指した状態になる。
■LinkedList
・ArrayListと同じ動作をするリスト
・しかし、クラス内部のつくりが違い、リストの途中で要素を挿入、削除するのは得意
・要素の取り出しが苦手、先頭から数を数えながらたどる必要がある。
・リストの箱がバラバラにあって、リンクしているような感じ
■List
・ArrayListもLinkedlistもList
・両方ともListインターフェースを実装している
・コレクションのインスタンスを格納する変数や引数、戻り値の型は極力あいまいな型を用いること。
・例:
List<String> list1 = new ArrayList<String>(); List<Hero> list2 = new LinkedList<Hero>();
※引数・戻り値・ローカル変数には、極力あいまいな型(インターフェース型)を利用できないかを検討し、積極的に利用する。