データを検索するには、先ほどのselect文を使います。rosterテーブル内の全データを表示するには、次のように実行します。
1 2 3 4 5 6 7 8 9 10 |
> select * from roster; +--------+--------+--------------+------+ | number | name | kana | age | +--------+--------+--------------+------+ | 1 | 山田 | ヤマダ | 25 | | 2 | 佐藤 | サトウ | 30 | | 3 | 遠藤 | エンドウ | 41 | | 4 | 高橋 | タカハシ | 36 | | 5 | 田中 | タナカ | 27 | +--------+--------+--------------+------+ |
select文の書式は「select カラム名,… from テーブル名 条件」となります。すべてのカラムは「*」(ワイルドカード)で指定できます。条件を指定しなければ、テーブル内のすべてのデータが表形式で表示されます。
条件の指定には「where」というSQLの句を使います。例えば、遠藤さんのフリガナと年齢だけを取り出すには、
1 2 3 4 5 6 |
> select age,kana from roster where name='遠藤'; +------+--------------+ | age | kana | +------+--------------+ | 41 | エンドウ | +------+--------------+ |
を実行します。カラム名を指定する順番を変更して年齢から先に表示しました。
複数のデータが表示されるように条件を変更します。例えば、30歳以下の人を表示するには、次のSQL文を実行します。
1 2 3 4 5 6 7 8 |
> select age,kana from roster where age<=30; +------+-----------+ | age | kana | +------+-----------+ | 25 | ヤマダ | | 30 | サトウ | | 27 | タナカ | +------+-----------+ |
さらに年齢が高い順に並べ替えるには「order by」の句と、降順(DESCending order)の「desc」を指定して、次のように実行します。
1 2 3 4 5 6 7 8 |
> select age,kana from roster where age<=30 order by age desc; +------+-----------+ | age | kana | +------+-----------+ | 30 | サトウ | | 27 | タナカ | | 25 | ヤマダ | +------+-----------+ |