◆ SQLとは
SQL(Structured Query Language)とは、RDB(リレーショナルデータベース)を操作するための言語。
リレーショナルデータベースは現在広く用いられているデータベースの方式であり、データはテーブル表に
格納されます。テーブルは列(フィールド)と行(レコード)から構成し、テーブルのデータが関連付けら
れます。下図は社員テーブルの「支店ID」と支店テーブルの「支店ID」の列の関連付け(リレーショナル)。
SQLは大きく分けて、DDL、DML、DCLの3種類から構成されます。DMLには、SELECT(データの選択)
INSERT(追加)、UPDATE(更新)、DELETE(削除)等があります。以降はDMLにフォーカスして解説。
種類 |
和訳 |
説明 |
DDL ( Data Definition Language ) |
データ定義言語 |
データベースやテーブル作成時に使用 |
DML ( Data Manipulation Language ) |
データ操作言語 |
データ操作時に使用 |
DCL ( Data Control Language ) |
データ制御言語 |
トランザクション制御時に使用 |
リレーショナルデータベースの管理システムをRDBMS(Relational DataBase Management System)といい、
代表的なオープンソフトウェアにMySQL、商用製品にはOracle Database DB2、MS SQL Serverがあります。
◆ SQL - SELECT
データベースからデータを抽出するにはSELECT文というSQLの命令を使用します。構文は以下です。
◆ 構文 : SELECT 列名 FROM テーブル名 ;
◆ 実行例 : employeeテーブルから「 name 」列の取り出し
> SELECT name FROM employee; |
◆ 実行例 : employeeテーブルから「id」と「name」列の取り出し
> SELECT id,name FROM employee; |
◆ 実行例 : employeeテーブルから全ての列の取り出し
> SELECT * FROM employee; |
SELECT文でデータを抽出する際に以降で紹介。
・ WHERE
・ ORDER BY
・ GROUP BY
上記を使用することで、検索条件を指定しデータを
抽出したり検索結果をソートして表示したり、指定
した列について、グループ化して表示させられます。
以降で、これら3つを詳細を解説していきます。 |
|
◇ WHERE
⇒ データを抽出する際に、特定の条件を満たしたものだけを取得するためにはWHEREを併用します。
◆ 構文 : SELECT 列名 FROM テーブル名 WHERE 検索条件;
◆ 実行例 : employeeテーブルから branchid が 20 である「 id と name列 」の取り出し
> SELECT id,name FROM employee WHERE branchid = 20; |
◇ ORDER BY
⇒ データを抽出する際に、検索結果をソートして表示するためにはORDER BYを併用します。
◆ 構文 : SELECT 列名 FROM テーブル名 ORDER BY 列名;
◆ 実行例 : employeeテーブルから「 salary列 」を昇順にソートして、全ての列の取り出し
> SELECT * FROM employee ORDER BY salary; |
◇ GROUP BY
⇒ データをグループ化し計算した上で抽出する際にはGROUP BYを併用します。
◆ 構文 : SELECT 列名 FROM テーブル名 GROUP BY グループ化する列名;
◆ 実行例 : employeeテーブルで「 branchid 列 」をグループ化して抽出し、salary の合計を算出。
> SELECT branchid, SUM(salary) FROM employee GROUP BY branchid; |
上記のSUMはSQLで使用する関数です。グループ化したデータの処理を行える関数には、その他には
MAX(最大値)、MIN(最小値)、COUNT(データ数)などがあります。
|