4章のメモ。
SQL
みんな大好きSQL。説明不要!とはいかない。
Structured Query Languageの略。
章自体がかなり長い。それくらい知ってて当たり前のトピック。
別に書き方とかは基本応用取って知りませんとかあり得ないので、
気になったところだけ書いていく。
Select
COUNT
A(b,c,d)
count(*)とcount(b)は違う。
*は行数全てで、bにするとbのNULLがカウントされない。
知らんかった(お前まじか?)。
DDL
create
えっこれも仕様に入ってるの!?ってなった奴について書いた。
references
これは列じゃなくて表制約でしか使ったことない。
check
滅多に使わない。
column datatype check (column < 10000),
みたいに書くらしい。
外部キーの更新・削除規則
DELETEとUPDATEそれぞれかける。
カスケードしか知らんかった
ON [DELETE|UPDATE]
の後に続けて書く。
- NO ACTION
何もしない。
- CASCADE
外部キー側にも同じように伝播する。
- SET DEFAULT
更新時、同じ値のみ外部キー側にも伝播する。ただしデフォルト値になる。
- SET NULL
更新時、同じ値のみ外部キー側にも伝播する。ただしNULL値になる。
Create View
メリット
Select文いちいち書かなくてもいいよねーってことしか知らなかった。
- セキュリティの確保
本来ならアクセスできないテーブルの一部を抜き取って作成し、
権限を与えて隠しつつ見えるようにする。
更新
更新行を得的できる場合のみ可能。
DISTINCTとかしてしまうともう無理。
権限系
Grant toとRevoke from は覚えておこう。
内部結合
内部同士の指定した列同士で一致したもののみ結合させる。
natural
natural inner join
同一名の列を使ってjoinする。この場合、列名指定投資なくても良くなる。
外部結合
一致しなくても表示する奴。
どっちに合わせるかで左右指定できる。
物に加えて、左右のやつ(full)もある。初めて知った。
UNION JOIN
そのままくっつけて、開いた穴はNULL。
CROSS JOIN
直積演算するやつ。多分でんやろ(適当)
こんなもんかな。次こそたくさん書きそう。
>> Home