SQLのお勉強 5.select

2020-09-13

こんにちは、0371です。

今回は、SQLのお勉強をしたいと思います。
基本情報技術者試験で出題される範囲を中心に進めます。

お勉強

※ PostgreSQLはインストール済みかつ、パスも通しているという前提で進めていきます。

分からないという方は、以下の記事から始めてください。

dockerを使って、再構築が容易なSQLの練習場を作成する
"https://0371.blog/docker-sql"

前回の記事はこちら

SQLのお勉強 4.テーブルにデータを登録する
"https://0371.blog/sql-4"

データを取り出す select

それでは、テーブルからデータを取り出してみましょう。
前に何度か使用しているselect文を使用します。

select 列名 from テーブル名;

これが基本的な構文になります。
数あるSQL文の中で、最も使用頻度が高いとされているので、まずはこのselect文をマスターしましょう。

試しに、Shohinテーブルから、shohin_id, shohin_mei, shiire_tankaを取得してみましょう。

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)

全ての列を取得したい時は、*を使います。

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

列にはasを使用することで、別名をつけることができます。

select shohin_id as id, shohin_mei as nanae, shiire_tanka as tanka from Shohin;
  id  |     nanae      | tanka 
------+----------------+-------
 0001 | Tシャツ        |   500
 0002 | 穴あけパンチ   |   320
 0003 | カッターシャツ |  2800
 0004 | 包丁           |  2800
 0005 | 圧力鍋         |  5000
 0006 | フォーク       |      
 0007 | おろし金       |   790
 0008 | ボールペン     |      
(8 rows)

別名には日本語をつけることも可能です。 その際は、ダブルクォーテーション""で囲みましょう。

select shohin_id as "商品ID", shohin_mei as "商品名", shiire_tanka as "商品単価" from Shohin;

実行すると、見やすくなるのがわかると思います。

 商品ID |     商品名     | 商品単価 
--------+----------------+----------
 0001   | Tシャツ        |      500
 0002   | 穴あけパンチ   |      320
 0003   | カッターシャツ |     2800
 0004   | 包丁           |     2800
 0005   | 圧力鍋         |     5000
 0006   | フォーク       |         
 0007   | おろし金       |      790
 0008   | ボールペン     |         
(8 rows)

今日はここまで。

参考書籍

SQL 第2版 ゼロからはじめるデータベース操作
"https://amzn.to/2QYMBJD"

今日の一言

selectができたのでSQLはマスターしたも同然!!!!

次回の記事はこちら

SQLのお勉強 6.distinct
"https://0371.blog/sql-6"