2012年1月15日日曜日

MySQL ぜひ覚えたい 関数 式 句 などの覚書(~p163)

『基礎からのMySQL』 西沢夢路著 (ソフトバンククリエイティブ) 
から得たぜひ覚えたい個所を列挙した。 Part 1




(p45) DESC文
 テーブルのカラム構造を確認する。describeを省略させた。


(p73) ALTER TABLE ~ CHANGE ~~~;
 テーブルのフィールド名とデータ型を変更する。
alter table tb1c CHANGE umare seinen DATE;
(umare を seinen)に変更する。DATEは(データ型)は
直感的に省略してしまう。気を付けよう。


(p79) UNIQUE句
 テーブル作成時、フィールドの重複を許さない。
フィールドが主キーではないけれど、フィールドの値を一意に
させたい時に指定する。



(p125) LIMIT句
 画面に表示させたいレコード数を指定する。

(p130) IN句
 IN句はORの役割をする



(p139) CASE式
  SELECT FROM tb; の代わりに、
 SELECT case when ~ then ~ else ~ end FROM  tb;
 とする。 他のフィールドの値を元に、フィールドの設定値を
 変えられる。(uria の値を元に 多い、少ない、等と
 フィールド値を設定。 )


(p143) ORDER BY句
 不規則に表示されるレコード表示に規則を与える。
 ASC … 昇順(省略可)
 DESC … 降順
   ※デスクと覚えた
  ※テーブル構成を表示する DESC とスペルが同一


(P146) OFFSET句
 表示の範囲を限定する。
OFFSET 3 とすると、
最初の 3レコートを消す様にセットする。


(p148) GROUP BY句
  特定のフィールドを(ex,select * from tb group by bang; の
様に)GROUP BY句に続けて指定すると、フィールド(bang)内
で重複する値(同じ値)をグループ化する(distinctみたいだ)。

グループ化することで、グループ毎に ”合計” したり、”平均”
を出したりする事が可能となる。 

(p149) count()関数
 count(x) で フィールド x に存在する個数を調べられる。
㊟nullはカウントされない。
select count(*) from tb group by bang;  で、フィールド bang
でグループ化され、グループ毎の合計値を表示する。
この場合、グループ化したフィールドに null が入っていても
null の個数を表示してくれる。 テーブルのレコード数を知る
ことができるね。 メカニズムは解らない (^^; 


(p152) HAVING句
 GROUP BY句でまとめた値(たとえば、sum(uria))に対して
条件を付加する。
select 
   bang,sum(uria) 
from tb 
  group by bang
having sum(uria) >= 200; は、

bang で グループ化 した uria の 合計値 が、
200以上の グループ のみを 表示するというもの。




複雑な条件(抽出・並べ替え・グループ化)では、


①WHERE条件
②GROUP BY
③ORDER BY ○○(DESC)

の順番となる。




MySQL ぜひ覚えたい 関数 式 句 などの覚書(Part2)へ

MySQL ぜひ覚えたい 関数 式 句 などの覚書(Part3)へ





情報処理再チャレンジブログ ホーム

0 件のコメント:

コメントを投稿