とあるシステムエンジニアの雑記

読書メモや独自調査のメモ書き

ゼロから始めるデータベース操作②

・whereには集約が使えない

 

SELECT shohinid , tanka from shohin where tanka >AVG(tanka)

 

スカラサブクエリを使う。

 

スカラサブクエリとは、実行結果が必ず1件、1項目のもの

 

・サブクエリと相関サブクエリな違い

サブクエリは、外に定義されている値を使わずに実行する。内から外。サブクエリは一回実行のみ。

 

相関サブクエリは、サブクエリ外のパラメータを使う。パラメータをもらうため、レコード数の度に実行される。

 

charとvarcharとncharとnvarcharの違い

qiita.com

【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を許可する
  • キーの値の変更を許可する *ユニークキーの制約を設定すると、ユニークキーに対してインデックスが作成される