データベース設計

【SQL入門】SELECT文の基本的な使い方

SELECT文の基本構文

SELECT文とは、データベースからデータを抽出するための命令文です。

SELECT  列名  FROM  テーブル名  WHERE  条件

以下の設定されたテーブル(user) を元にします。

カラム名データ型その他
idINT主キー
nameVARCHAR (50)NULL許容しない
addressVARCHAR (255)
ageINT

特定の列を抽出する

特定の列を抽出したい場合は「select  列名」に抽出したい列名を指定します。

SELECT name FROM user;

name を抽出できます。

複数の列を抽出する

複数の列を抽出したい場合は「select  列名1, 列名2,・・・」とカンマ区切りで列名を指定します。

SELECT name, address FROM user;

name と address を抽出できます。

すべての列を抽出する

すべて列を抽出したい場合は「select  *」とアスタリスクで指定します。

SELECT * FROM user;

「WHERE」で条件を指定する

WHERE句には、次の比較演算子を用いて条件を指定することができます。

比較演算子使用例説明
=age = 2020歳と等しい
>age > 2020歳より大きい(20歳は含まない)
>=age >= 2020歳以上(20歳を含む)
<age < 2020歳未満(20歳は含まない)
<=age <= 2020際以下(20歳を含む)
<>(!=)age <> 20(age != 20)20歳以外

抽出する条件を指定する

抽出する条件を指定するには「WHERE 条件」に、条件を指定します。

SELECT * FROM user WHERE age < 30;

age が 30未満(30は含まない)抽出できます。

抽出する条件を複数指定する

抽出する条件を複数しているには「AND」もしくは「OR」もしくは「NOT」を使用します。

論理演算子使用例説明
ANDA AND BA かつ B
ORA OR BA または B
NOTNOT(A)Aではない

SELECT * FROM user WHERE age < 50 AND address != '東京都渋谷区';

ANDの例 (年齢「50歳未満」 かつ 住所が「東京都渋谷区」以外のデータを抽出できます。)

SELECT * FROM user WHERE age = 22 OR address = '東京都渋谷区';

ORの例(年齢が「22歳」または 住所が「東京都渋谷区」のデータを抽出できます。)

「ORDER BY」でソートする

SELECT文で抽出したデータをソートするには「ORDER BY  列名 ASC(またはDESC)」を使用します。
ASCが昇順、DESCが降順。

SELECT * FROM user ORDER BY age ASC;

※昇順 ASCは省略可です。

SELECT * FROM user ORDER BY age DESC;

学習書の紹介

SQLの絵本 第2版 データベースが好きになる新しい9つの扉

データベースは沢山のデータを管理するためのソフトで、データの登録/変更/削除を確実にし、多数のユーザーからの操作を受け付ける仕組みが備わっています。
このデータベースを操作するための言語がSQLです。

本書は「そもそもデータベース(リレーショナルデータベース)とは
どういうものであるか」から解説を始めます。基礎知識を身につけ、
データの操作を実際に試して学ぶことができる一冊です。


学習書のお求めはこちらから → IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』

-データベース設計