【楽しく学ぶSQL入門】第2章:SELECT文の基礎

公開日:
更新日:

システム開発の現場において、データベースから必要な情報を取得する作業は毎日のように行われます。その際、データのやり取りで中心的な役割を果たすのがSELECT文です。テーブルに蓄積されたデータから、欲しい情報だけを指定して取得する役割を持っています。

SELECT文の基本構文

SELECT 列名
FROM テーブル名
[WHERE 条件式]

SELECT句では、取得したい列名を設定します。複数の列を指定する場合は、カンマで区切るのがルールです。
FROM句には、データを取得する対象のテーブル名を記述しましょう。WHERE句は検索条件を指定するためのものです。SELECT句とFROM句の記述が必須であるのに対し、WHERE句は条件が必要なときにだけ書き足します。
参考サイト:MySQL 公式サイト(SELECT文について)

SQLを使ってみる

① 特定の列の表示

特定の列だけを画面に表示させたい場合は、SELECT句に対象の列名を設定します。
たとえば、都道府県テーブルから名称(大阪府など)のみを取得するケースがこれに該当します。

SELECT name FROM pref ;

name
三重県
滋賀県
京都府
● 大阪府
兵庫県
奈良県

② 複数の列の表示

2つ以上の列を同時に表示させたい場合は、列名同士をカンマで繋ぎます。
例として、社員テーブルから姓と名の両方を同時に抜き出す設定を見てみましょう。

SELECT name1, name2 FROM employee ;

name1 name2
開発 太郎
山田 次郎
佐藤 花子
鈴木 一郎

③ 全件走査

対象のテーブルにあるすべての列を表示させたいとき、ひとつずつ手作業で列名を入力するのは骨が折れますよね。そんなときに重宝するのが*(アスタリスク)。これひとつを置くだけで、全列を指定したときとまったく同じ結果を一瞬で得られます。
例として、社員テーブルのデータを丸ごと取得してみましょう。

SELECT * FROM employee ;

employee_id group_id name1 name2 sex_id age birthday email tel
1 2 開発 太郎 2 48 1978/09/07 taro_kaihatsu@example.com 09027109628
2 2 山田 次郎 1 29 1997/03/13 jiro_yamada@example.com 08063486793
3 1 佐藤 花子 1 23 2003/08/14 hanako_sato@example.com 09087044388

④ 別名

SELECT文で列名やテーブル名を出力する際、指定した名称の後ろに「AS」を添えることで、一時的な別名(エイリアス)を定義できます。ちなみに、このASという記述自体は省略してスペースを空けるだけでも機能します。
例)社員テーブルの姓と名と年齢を取得する。

SELECT name1 AS 姓, name2 AS 名, age AS 年齢 FROM employee ;

年齢
開発 太郎 48
山田 次郎 29
佐藤 花子 23

※ただし、Oracle DBを使う場合はちょっとした注意が必要。テーブルに別名を与える際、ASを使うとエラーになってしまう独自ルールが存在します。
参考サイト:Oracle 公式サイト(SELECT文について)

お問い合わせ

CONTACT

業務システムに関するお困りごと、WEBサイトの制作など、
まずはお気軽にお問い合わせください。

会員サイト
CONTACT
06-6305-2278
採用サイトはこちらRECRUIT