ゼロから始めるデータベース操作②
・whereには集約が使えない
SELECT shohinid , tanka from shohin where tanka >AVG(tanka)
スカラサブクエリを使う。
スカラサブクエリとは、実行結果が必ず1件、1項目のもの
・サブクエリと相関サブクエリな違い
サブクエリは、外に定義されている値を使わずに実行する。内から外。サブクエリは一回実行のみ。
相関サブクエリは、サブクエリ外のパラメータを使う。パラメータをもらうため、レコード数の度に実行される。
charとvarcharとncharとnvarcharの違い
【SQL】データ型/文字列編 (char型 / varchar型 / nvarchar型) ( ソフトウェア ) - プログラム の個人的なメモ - Yahoo!ブログ
色々書いてあるけど、でも、いつも忘れちゃう。覚えられない という事で、覚えやすいように解説
char
固定長文字列。データの型としては固定長なので、足りない分はスペースがセットされる。 データサイズはByteとなる。全角であれば2byteで半角なら1byteとなる
varchar
可変長文字列。最大桁数以下であれば問題ない。 データサイズはByteとなる。全角であれば2byteで半角なら1byteとなる
nchar
Unicode対応のchar。Unicode対応とは、半角だろうが全角だろうが1文字で格納される。
nvarchar
Unicode対応のnvarchar。Unicode対応とは、半角だろうが全角だろうが1文字で格納される。
まとめると、
・NはUnicodeのN(Uにしてくれ) ・varは格納される値が可変という意味
うーん、覚えららえない。何か良いゴロがあれば、教えてください。
ゼロから始めるデータベース操作 学習メモ①
第1章
・SQL分はセミコロンで終わる → SQL Serverでは書いた記憶なし・・・・
第3章
・count関数は引数によって動作が異なる。
count(✳︎)はNULLを含む行数、count 列名はNULLを除外した件数
・集約関数はNULLを除外する。四則演算にNULLが含まれる場合、結果は問答無用でNULLになる
・集約関数が使えるのは、SELECTとhavingとorder by
2019年の目標
2018年度は、特に目標を立てませんでしたが、2019年度はちゃんと目標立ててやりたいなと。
1.体のメンテナンスをしっかりする
まずは、毎日、ストレッチをしっかりやる事から始める。
ある占いだと、今年は体の不調が出てくる年とのことなので、今年、健康であるような仕組みを考えないとまずい?
ランニングとかが良いのかな。
2.継続的なアウトプットをする
月ごとにテーマを決め、そのテーマに沿ってアウトプットしていきます。1月はSQLについて、学習とアウトプット。
今のところやりたいテーマは、プレゼンテーション、c#、ネットワーク基礎
3.ゼロ秒思考をやってみる
ずっとやりたいなと思っていたけど、放置してたもの。まずは3週間やってみて、効果があればそのまま継続とします。
本来なら朝やればよいのですが、今までの経験則で、私、朝は完全にダメです。
なので、夜、仕事から帰宅したらやるようにしようかと。
プライマリーキーとユニークキーの違い
今まで何となく理解していたつもりでも、即答しろと言われても言えないシリーズの第一弾。
プライマリーキーとユニークキーの違い
分りやすくまとまっているのがこれ
全ては時の中に… : 【データベース】主キーとユニークインデックスの違い
プライマリーキー
- テーブルに対して、一つしか設定できないもの。制約。
- 単数の列、もしくは複数の列を指定することが可能
- PKに指定されて列はNullを許可しない
- キーの値の変更を許可しない *PKの制約を設定すると、主キーに対してインデックスが作成される
ユニークキー
- テーブルに対して、複数設定できる。制約。
- 単数の列、もしくは複数の列を指定することが可能
- ユニークキーに指定されて列はNullを許可する
- キーの値の変更を許可する *ユニークキーの制約を設定すると、ユニークキーに対してインデックスが作成される