【SQL】View(ビュー)とはなにか?動作確認してみる。

ビューとは?

ビューは 実体のデータとしては存在しない。 ビューの実体は「SELECT文」であり、ビュー作成時に実行したいSELECT文を定義する。

実際にviewを作成し動作確認してみる

postgresql環境構築

docker-compose.yml

version: "2"
services:
  postgres:
    image: postgres:13-alpine
    environment: 
      POSTGRES_DB: test
      POSTGRES_PASSWORD: example

上記ファイルを利用してpostgres環境を構築

$ docker-compose up -d

動作確認

# postgresコンテナに入る
$ docker-compose exec postgrs sh

# postgresコンテナ内でpsqlコマンドを使ってpostgresを利用する
$ psql -U postgres -d test
psql (13.3)
Type "help" for help.

test=#

testデータベース内で検証

以下のように randomテーブルをselectした結果同士をunionしたものをview_testというviewとして作成する。

-- テストデータ作成参考: https://goodbyegangster.hatenablog.com/entry/2019/05/06/111009
create table random (code int);
insert into random (code)
    select (random() * 100) from generate_series(1, 10);

CREATE OR REPLACE VIEW view_test as
select * from random
UNION ALL
select * from random
;

作成したビュー (view_test)を参照してみると、20件のデータが取得できていることがわかる。

 test=# select * from view_test ;

 code
------
   31
   69
   18
   20
    4
   47
   85
   82
    4
   63
   31
   69
   18
   20
    4
   47
   85
   82
    4
   63
(20 rows)

これはview作成時に定義したselect文と同様の結果が出力される。

test=# select * from random
test-# UNION ALL
test-# select * from random;

 code
------
   31
   69
   18
   20
    4
   47
   85
   82
    4
   63
   31
   69
   18
   20
    4
   47
   85
   82
    4
   63
(20 rows)

次にrandomテーブルに新しいデータを投入してみて、viewを参照したときにどの様になるかみてみる。

test=# insert into random (code)
test-#     select (random() * 100) from generate_series(1, 10);
INSERT 0 10

viewを参照してみる。

test=# select * from view_test ;
 code
------
   31
   69
   18
   20
    4
   47
   85
   82
    4
   63
   96
   16
   49
   70
   60
   41
   15
   22
   75
   77
   31
   69
   18
   20
    4
   47
   85
   82
    4
   63
   96
   16
   49
   70
   60
   41
   15
   22
   75
   77
(40 rows)

まとめ

  • ビューの実体はデータではなくselect文である。
    • select文の参照先のテーブルにデータが増えるたびにviewの取得結果が変わってくる。
      • view作成時にselect文の処理の結果が保存されるわけではない。

vscodeのショートカットtips (随時更新)

これはなに?

エディタとしてvscodeを利用しており、便利だったショートカットを備忘録として記載する。

機能 ショートカット (windows) ショートカット (mac)
ドキュメントフォーマット shit + alt + f shit + alt + f
該当文字をすべて選択 shit+ crtl + l shit+ crtl + l
行先頭にカーソルを移動 home/fn + ← home/fn + ←
行末尾にカーソルを移動 end/fn + → end/fn + →
マルチカーソル化 Alt + Ctrl + ↓↑ option + command + ↓↑
対の括弧にジャンプ Ctrl + Shift + \ Cmd + Shift + \
ファイル中身検索 Ctrl + Shift + F Cmd + Shift + F
ファイル中身検索 Ctrl + Shift + F Cmd + Shift + F

【読書メモ】伝え方が9割

ノーをイエスに変えるための3ステップ

  1. 自分の頭の中をそのまま言葉にしない
  2. 相手の頭の中を考える
  3. 相手のメリットと一致するお願いをする(つくる)

例) 相手にタバコをやめほしい・・・
自分の頭の中をそのまま言葉にして伝えると・・
「タバコやめてもらえませんか?」 となる
ただ、相手の頭の中を考えてみると・・・

  • タバコを吸うと健康わるい
  • タバコを吸うと肌にわるいのでタバコを吸わない方がよい ということが考えられる。

相手のメリットと一致するのは

  • タバコは肌に悪いらしいですよ(タバコやめてくれたら自分は嬉しい)

上記を考慮して上で 「たばこをやめるとおどろくほど、肌がきれになりますよ」

このようにつたえると、ただ単に「タバコやめてくれませんか?」と伝えるより、タバコを辞めてくれる可能性が上がりそうに思えるだろう

伝え方の7つの切り口

  • 選択の自由  - 人間は「決断」はにがてだけど、「比較」は得意

【読書メモ】お金の大学 -リベ学長- (STEP1 お金を貯める)

お金の大学

固定費

まずは固定を見直す。固定費の削減は生活の満足度が落ちない程度に
見直したい固定費は以下 の6つ

  1. 通信費
  2. 光熱費
  3. 保険
  4. 税金

順にみていく。

1. 通信費

通信費 は格安SIMに! これだけ

2. 光熱費

電気会社が自由に選べるようになったから、料金比較をして、できるだけ安い電気会社に乗り換える!!

毎月の電気使用量と金額を確認

料金シミュレーションで比較

新しい電気会社に申し込む

料金シミュレーションは以下サイトが使える

kakaku.com

3. 保険

必要な民間保険は3つ(低確率だけど、実際におきたら大損害が起きるやつ

  1. 生命保険
  2. 火災保険
  3. 自動車保険

3つで不安かもしれないが、社会保険が上記以外のほとんどの場合をカバーしてくれているから大丈夫

社会保険を使い、社会保険で補うことができない分に関しては民間保険で補う

社会保険がどのぐらいカバーしてくれているかをもう少しみていく。

健康保険

高額医療制度について

国民全員が加入している健康保険(会社員は健康保険、フリーランスなどは国民健康保険に加入)のおかげで我々は医療費を全額払うのではなく、医療費の自己負担額は三割でよい。
ただ、高額の治療を受け、自己負担額が高額になった場合は、自己負担限度額を超えた分を後で返してもらえる。

自己負担限度額は収入と収入水準で決定される

でも、後で返してくれるとはいえ、一旦は払わなければいけないのか。。。

上記の問題を解決してくれるのが、
限度額適用認定証の交付 」
これをしておくことで、最初から病院で払う金額が自己負担限度額になる。

扶養について
国民健康保険には扶養という考え方がない
健康保険(会社員が入るやつ)は扶養制度がある
→扶養制度があることで奥さんや子供を扶養にいれることで保険料の支払いは自分自身だけでよくなる。

傷病手当金

病気とか怪我で働けなくなった場合に生活を保障するためにお金が支給される。 受領期間は1年6ヶ月 支給される条件は以下の通り

  1. 業務外の病気、怪我で休業している
  2. 病気などのため、仕事できない
  3. 四日以上仕事できない
  4. 休業中給与のしはらいがなかった
健康保険まとめ

日本の健康保険は凄い! なぜなら

  • 原則三割負担で必要な医療が平等に受けれる
  • 高額療養制度のおかげで、自己負担の限度額が10万程度で済む
  • 健康保険の場合は保険料が会社と折半、しかも扶養家族の分は払わなくていい
  • 病気、怪我で働けなくても 1年6ヶ月は保障がある
障害年金

病気や怪我によって生活が制限されてしまったひとに受け取れる年金

障害年金には以下の二種類がある。

  1. 障害基礎年金(2級 ~ 1 級)
  2. 障害厚生年金(3級 ~ 1級
年金

年金をもらうとなったとき、どこからお金がでてくるのか? それは以下の3つ

  1. 現役世代による保険料→現役世代が払った保険料がそのまま、年金受給者へ渡る
  2. 税金など→消費税などの税金が年金として払われる
  3. 積立金→GPIF(年金積立金管理運用独立行政法人)などが運用している積立金が年金受給者へ渡る

4. 家

5. 車

6.税金

節税する。 そのまえにサラリーマンの納税額の決まり方についてみていく。 源泉徴収票によって以下2つの税金を支払う。

  1. 所得税
    1. 国に払う税金、稼げば稼ぐほど支払い金額が大きくなる
    2. 先払いで、所得の大まかな金額が先に払われ、多く払われていた場合は年末調整で帰ってくる
  2. 住民税
    1. 都道府県や市町村に支払う税金、こちらは一律の税金を支払う(一律10%
    2. 後払いで、前年の1月〜12月の所得合計の10%で納税額を算出し,6月〜翌年5月にかけて、毎月引き落とされる
節税をするにいは控除を活用して、課税所得を下げること

給与ー控除=課税所得 (税金は給与ではなく、課税書所得に対してかかる

つまり、支払う税金をすくなくするために、控除を増やす必要がある 控除を増やすにはどうしたらいいか?

会社員が使えて実用的な控除は以下の通り

  1. ふるさと納税
  2. 医療費控除
  3. 扶養控除
ふるさと納税

実質2000円で、節税ができて、食品などのお礼の品がもらえる

ステップ.

  1. 控除の限度額の確認.
  2. 寄付する自治体を選び、申し込む.
  3. 確定申告・ワンストップ特例どちらかを使い控除を受ける.
    1. ワンストップ特例は確定申告なしで控除が受けられる
医療費控除

一年間で10万を超えた医療費が控除額になる

なども対象となる。

控除以外で節税する方法

副業を初めて事業 所得を得る

事業所得には3つもメリット

  1. 経費
  2. 控除
  3. 社会保険料

事業所得は給与所得と違い以下のようになる

売上 - 経費 - 控除(青色申告特別控除) = 課税所得

経費が使えるのでより課税所得がすくなくなる!

会社にばれずに副業する方法(99.999%ばれない

  • 事業所得の副業をすること
  • 確定申告時の住民税の払い方を普通徴収にすること
    • 具体的には確定申告時の書類の「自分で納付(普通徴収)」にチェックをつけること
  • 確定申告後に市区町村に確認をいれること
    • 特別徴収を推進している市区町村やミス、などが考えられるため

普通徴収とは、自分で税金を収めるということ 逆に特別徴収は働いている会社から天引きされる