OSSDB講座第二,三回(全八回)@LA池袋校

IMG_6204

毎週土曜に受講しているPostgreSQLの講座。
時間帯はおおよそ10:00-16:00くらいの時間(昼休み50分)

覚えたことを覚えたなりにアウトプットしないと忘れるので覚え書き。

二回、三回ので扱った内容は表の照会。
基本的に表の照会は以下のようなSQL文を打つことになる。

SELECT 照会したい列 FROM 表の名前; となるので以下のような感じ。
SELECT * FROM customer;
customerテーブル(顧客表)の情報をあるだけそのまま出してねという意味になる。

けれど顧客表の中の情報で、名前と電話番号だけ知りたい!とか
東京に住んでて名字がサイトウさんの人の情報だけ出してほしい!とか
売上データで売り上げランキング1位から10位の商品名だけ表示してほしい!とか
さまざまな条件で検索したいときは、それらしいSQL文を書かないといけない。

そういうときはおおまかにこんな感じ。SQL「文」と言われるだけあって文章っぽい。
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+–+-+-+-+-+-+-+-+-+-+-+-
SELECT emp_name , birthday FROM employee WHERE birthday >= ’1980-01-01′ ORDER BY birthday DESC;
担当者表(employee)から、1980年以降生まれの社員の名前と誕生日を降順で表示してね。

表を照会したい    SELECT   (列の名前)
どの表から      FROM    (表の名前)
その行を       WHERE    (行の選択条件)
どの順番で      ORDER BY  (昇順か降順か)

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+–+-+-+-+-+-+-+-+-+-+-+-
表を照会するってだけだけど、より細かい条件の指定もできる。
そういう時は以下のように文節を設けていくことになる。

表を照会したい    SELECT
どの表から      FROM
その行を       WHERE
集計する時の列の指定 GROUP BY
GROUPBYでの選択条件 HAVING
どの順番で      ORDER BY
表示行数の指定    LIMIT
スキップする行の指定 OFFSET

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+–+-+-+-+-+-+-+-+-+-+-+-
さも長ったらしいことを丁寧に説明するときのように、
SQLの文法でも文節と条件を正しく指定して書く必要がある。
SQL文はプログラミングでも英語に近い感覚で捉えられるので、
細かいのは面倒でも法則に慣れればそんなに習得は難しくないんじゃないか、なんて。

二回に分けて、WHERE句の使用方法、GRUOP BYの使い方、
列関数の使用方法、表の結合方法あたりを学んだと思うけど今回は大枠だけ書き置き。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>