3章−1

(1) 次のファイルを03_1.datという名前で作成しなさい。(項目の区切りはタブ)

1001	山田	1970-01-26
1002	吉田	1973-10-14
1003	田中	1980-06-11
1004	鈴木	1966-02-14
1005	佐藤	1983-09-20
1006	斎藤	1985-07-21
1007	村山	1966-03-04
1008	中村	1980-01-01
1009	前田	1975-04-14
1010	高木	1969-07-14
1011	坂本	1975-04-01
1012	松井	1980-04-01


(2) 実行結果を参考に次のようなSQLを作成しなさい。
・テーブルt03_1を作成する。
・\copyでt03_1テーブルに03_1.datを取り込む。
・birthday列はdate型とする。

odexer=> \i 03_1_2.sql
CREATE TABLE
odexer=> select * from t03_1;
 code | name |  birthday
------+------+------------
 1001 | 山田 | 1970-01-26
 1002 | 吉田 | 1973-10-14
 1003 | 田中 | 1980-06-11
 1004 | 鈴木 | 1966-02-14
 1005 | 佐藤 | 1983-09-20
 1006 | 斎藤 | 1985-07-21
 1007 | 村山 | 1966-03-04
 1008 | 中村 | 1980-01-01
 1009 | 前田 | 1975-04-14
 1010 | 高木 | 1969-07-14
 1011 | 坂本 | 1975-04-01
 1012 | 松井 | 1980-04-01
(12 rows)


(3) 実行結果を参考に次のようなSQLを作成しなさい。
・birthday列が1975年4月1日以降の人を表示する。

odexer=> \i 03_1_3.sql
 code | name |  birthday
------+------+------------
 1003 | 田中 | 1980-06-11
 1005 | 佐藤 | 1983-09-20
 1006 | 斎藤 | 1985-07-21
 1008 | 中村 | 1980-01-01
 1009 | 前田 | 1975-04-14
 1011 | 坂本 | 1975-04-01
 1012 | 松井 | 1980-04-01
(7 rows)


(4) 実行結果を参考に次のようなSQLを作成しなさい。
・birthday列が1975年4月1日以降、1980年4月1日以前の人を表示する。

odexer=> \i 03_1_4.sql
 code | name |  birthday
------+------+------------
 1008 | 中村 | 1980-01-01
 1009 | 前田 | 1975-04-14
 1011 | 坂本 | 1975-04-01
 1012 | 松井 | 1980-04-01
(4 rows)


(5) 実行結果を参考に次のようなSQLを作成しなさい。
・code列, name列と現時点での年齢を表示する。
・年齢は〜才をつける。

odexer=> \i 03_1_5.sql
 code | name | age
------+------+------
 1001 | 山田 | XX才
 1002 | 吉田 | XX才
 1003 | 田中 | XX才
 1004 | 鈴木 | XX才
 1005 | 佐藤 | XX才
 1006 | 斎藤 | XX才
 1007 | 村山 | XX才
 1008 | 中村 | XX才
 1009 | 前田 | XX才
 1010 | 高木 | XX才
 1011 | 坂本 | XX才
 1012 | 松井 | XX才
(12 rows)