テーブルからデータを取り出すときはSELECT文を使う。またSELECT文で必要なデータを検索して、取り出すことを「問い合わせ」、「クエリ」と呼ぶ。
SELECT <列名>, ...... FROM <テーブル名>;
# SELECT句にはテーブルから出力したい列名
# FROM句にはデータを取り出すテーブル名を指定
実際にテーブルから指定した列のデータを出力してみました。出力する列の順番や数は自由に決められる。
postgres=# SELECT shohin_id, shohin_mei, shiire_tanka FROM Shohin;
shohin_id | shohin_mei | shiire_tanka
-----------+----------------+--------------
0001 | Tシャツ | 500
0002 | 穴あけパンチ | 320
0003 | カッターシャツ | 2800
0004 | 包丁 | 2800
0005 | 圧力鍋 | 5000
0006 | フォーク |
0007 | おろしがね | 790
0008 | ボールペン |
(8 rows)
全ての列を出力したいときは、*
を使う。(アスタリスクは全列を意味する!)
アスタリスクを使うと結果の列を並び替えることはできない。
postgres=# SELECT * FROM Shohin;
shohin_id | shohin_mei | shohin_bunrui | hanbai_tanka | shiire_tanka | torokubi
-----------+----------------+---------------+--------------+--------------+------------
0001 | Tシャツ | 衣服 | 1000 | 500 | 2009-09-20
0002 | 穴あけパンチ | 事務用品 | 500 | 320 | 2009-09-11
0003 | カッターシャツ | 衣服 | 4000 | 2800 |
0004 | 包丁 | キッチン用品 | 3000 | 2800 | 2009-09-20
0005 | 圧力鍋 | キッチン用品 | 6800 | 5000 | 2009-01-15
0006 | フォーク | キッチン用品 | 500 | | 2009-09-20
0007 | おろしがね | キッチン用品 | 880 | 790 | 2008-04-28
0008 | ボールペン | 事務用品 | 100 | | 2009-11-11
(8 rows)
ASキーワードを使って、列に別名をつけることができる。別名は日本語を使うこともできるが、ダブルクォーテーションで囲む必要がある。(スペースを含む別名をつけることもできる)
postgres=# SELECT shohin_id AS id,
shohin_mei AS "商品名"
FROM Shohin;
id | 商品名
------+----------------
0001 | Tシャツ
0002 | 穴あけパンチ
0003 | カッターシャツ
0004 | 包丁
0005 | 圧力鍋
0006 | フォーク
0007 | おろしがね
0008 | ボールペン
(8 rows)
SELECT句には列名だけでなく定数を書くこともできる。文字列定数、数値定数、日付定数がある。(文字列や日付はシングルクォーテーションで囲む。)
postgres=# SELECT '商品' AS mojiretsu, 38 AS kazu, '2022-03-01' AS hizuke,
postgres-# shohin_id, shohin_mei
postgres-# FROM Shohin;
mojiretsu | kazu | hizuke | shohin_id | shohin_mei
-----------+------+------------+-----------+----------------
商品 | 38 | 2022-03-01 | 0001 | Tシャツ
商品 | 38 | 2022-03-01 | 0002 | 穴あけパンチ
商品 | 38 | 2022-03-01 | 0003 | カッターシャツ
商品 | 38 | 2022-03-01 | 0004 | 包丁
商品 | 38 | 2022-03-01 | 0005 | 圧力鍋
商品 | 38 | 2022-03-01 | 0006 | フォーク
商品 | 38 | 2022-03-01 | 0007 | おろしがね
商品 | 38 | 2022-03-01 | 0008 | ボールペン
(8 rows)