【楽しく学ぶ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文について) PICK UP あわせて読みたいSQL基礎知識 【楽しく学ぶSQL入門】第1章:SQLの基礎 【楽しく学ぶSQL入門】第3章:データの制限 【楽しく学ぶSQL入門】第4章:検索結果の加工 【楽しく学ぶSQL入門】第5章:単一行関数とデータ型

