SELECT
テーブルよりデータを取得するには、SQLコマンドの「SELECT」を使います。
「SELECT」の基本的な構文は以下の通りです。
SELECT {* | 列名1[,列名2,・・・]} FROM テーブル名 [WHERE 条件] [ORDER BY 列名1[,列名2,・・・]] ;
テーブル名で指定したテーブルから、指定した列名のデータを取得します。列名のかわりに「*」を指定するとすべての列の情報を取得します。
また、WHERE句を指定することで指定した条件で取得するデータを絞り込むことができます。
ORDER BY句で列名を指定すると、その列の値の昇順または降順で取得データがソートされます。
データを取得する
実際に以下のようなデータが入っているテーブル「testtbl」からデータを取得してみます。
id | name | tel | score | |
---|---|---|---|---|
000001 | 山田 太郎 | 9999-99-9999 | xxxx@xxx.xxx.xxx | 100 |
000002 | 佐藤 二郎 | NULL | yyyy@xxx.xxx.xxx | NULL |
000003 | 鈴木 三郎 | 8888-88-8888 | zzzz@xxx.xxx.xxx | 75 |
000004 | 森山 四郎 | 7777-77-7777 | NULL | NULL |
000005 | 田中 五郎 | 6666-66-6666 | aaaa@xxx.xxx.xxx | 80 |
000006 | 川原 六郎 | 5555-55-5555 | bbbb@xxx.xxx.xxx | 90 |
000007 | 佐藤 二郎 | NULL | yyyy@xxx.xxx.xxx | NULL |
列の指定
列名の指定に「*」を指定してみます。
SELECT * FROM testtbl ;
実行すると以下の通りです。

全ての列の情報が取得できます。
特定の列名を指定する場合は、以下のような感じになります。
SELECT id, name, score FROM testtbl ;

指定した列の情報のみが取得できます。
条件の指定
WHERE句で条件を指定します。「id」が「000003」のデータを取得します。
SELECT * FROM testtbl WHERE id = '000003' ;

指定した条件に合致したデータが取得できます。
次は「score」が「80以上」のデータを取得してみます。
SELECT * FROM testtbl WHERE score >= 80 ;

さらに、「score」が「80以上」かつ「name」に「田」が含まれるデータを取得してみます。
SELECT * FROM testtbl WHERE score >= 80 AND name LIKE '%田%' ;

「score」と「name」の条件を「AND」で接続しているため、両方の条件に合致したデータが取得できています。「OR」で接続すると、どちらかの一方の条件に合致したデータが取得できます。
ソート順を指定する
ORDER BY句でソート順を指定します。「tel」の値で昇順にソートしてみます。
SELECT * FROM testtbl ORDER BY tel ASC ;
昇順の指定「ASC」は省略可能です。

「tel」の値で昇順にソートされています。降順にする場合は「DESC」と指定します。
SELECT * FROM testtbl ORDER BY tel DESC ;

ORDER BY句には複数の列を指定できます。例えば「name」で昇順、さらに「id」で降順としたい場合は以下の通りとなります。
SELECT * FROM testtbl ORDER BY name, id DESC ;
「name」の「ASC」の指定は省略しています。

まず「name」で昇順にソートします。「name」の値が同じ場合、さらに「id」で降順にソートされます。
「SELECT」コマンドには、上記の他にも色々な構文がありますが、基本的な使い方の解説は以上です。