SELECT文の基本構文
SELECT文とは、データベースからデータを抽出するための命令文です。
SELECT 列名 FROM テーブル名 WHERE 条件
以下の設定されたテーブル(user) を元にします。
| カラム名 | データ型 | その他 |
| id | INT | 主キー |
| name | VARCHAR (50) | NULL許容しない |
| address | VARCHAR (255) | |
| age | INT |
特定の列を抽出する
特定の列を抽出したい場合は「select 列名」に抽出したい列名を指定します。
SELECT name FROM user;
name を抽出できます。
複数の列を抽出する
複数の列を抽出したい場合は「select 列名1, 列名2,・・・」とカンマ区切りで列名を指定します。
SELECT name, address FROM user;
name と address を抽出できます。
すべての列を抽出する
すべて列を抽出したい場合は「select *」とアスタリスクで指定します。
SELECT * FROM user;
「WHERE」で条件を指定する
WHERE句には、次の比較演算子を用いて条件を指定することができます。
| 比較演算子 | 使用例 | 説明 |
| = | age = 20 | 20歳と等しい |
| > | age > 20 | 20歳より大きい(20歳は含まない) |
| >= | age >= 20 | 20歳以上(20歳を含む) |
| < | age < 20 | 20歳未満(20歳は含まない) |
| <= | age <= 20 | 20際以下(20歳を含む) |
| <>(!=) | age <> 20(age != 20) | 20歳以外 |
抽出する条件を指定する
抽出する条件を指定するには「WHERE 条件」に、条件を指定します。
SELECT * FROM user WHERE age < 30;
age が 30未満(30は含まない)抽出できます。
抽出する条件を複数指定する
抽出する条件を複数しているには「AND」もしくは「OR」もしくは「NOT」を使用します。
| 論理演算子 | 使用例 | 説明 |
| AND | A AND B | A かつ B |
| OR | A OR B | A または B |
| NOT | NOT(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入門 第4版 ドリル256問付き! (スッキリわかる入門シリーズ) [ 中山 清喬 ] 価格:3080円 |
どこでも試せて繰り返し練習できるから初心者でもSQLがグングン身に付く!
本書でぜひ、単純な命令をパズルのように組み合わせて、驚くほど柔軟で高度なデータ処理を実現できる、SQL特有の深さとおもしろさを味わってみてください。
SQLの絵本 第2版 データベースが好きになる新しい9つの扉 [ 株式会社アンク ] 価格:1,958円 |
データベースは沢山のデータを管理するためのソフトで、データの登録/変更/削除を確実にし、多数のユーザーからの操作を受け付ける仕組みが備わっています。
このデータベースを操作するための言語がSQLです。
本書は「そもそもデータベース(リレーショナルデータベース)とはどういうものであるか」から解説を始めます。基礎知識を身につけ、データの操作を実際に試して学ぶことができる一冊です。
学習書のお求めはこちらから → IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』