MySQLでデータを取得する「SELECT」の基本

データを取得するのは、データベースの操作において最もよく使う基本的な操作のひとつです。

そこで今回は、SELECT文を使ったデータ取得の基本について説明します。

データを取得する「SELECT」の基本形

MySQLでテーブルに保存されたデータを取得するには、SELECT文を使います。基本となるのは、以下のような書式です。

USEで使用するデータベースを既に指定している場合は、データベースは省略できます。

取得するカラムを指定する

取得するカラムは、SELECTの直後に、カンマ区切りで複数指定できます。また、カラム名の代わりにアスタリスク「*」を使うことで全カラムを取得できます。

全カラムを取得する

カラム名に名前をつける

また、カラム名にはASを使って任意の名前(エイリアス)をつけることができます。

ASを使わずに「カラム名 エイリアス名」とスペース区切りにすることでも、エイリアスは設定できます。

取得条件を設定する「WHERE」句

テーブルから指定した条件に合致するデータのみを取得するには、WHERE句を使います。

WHERE句では、複数条件がある場合は「AND」または「OR」でつなげます。

条件1かつ条件2に合致するデータを取得

条件1または条件2に合致するデータを取得

取得結果をグループ化する「GROUP BY」

取得したデータをカラムによってグループ化するには、「GROUP BY」を使います。

例えば、カテゴリ別のID、Title, Text, Categoryというカラムがあるarticlesテーブルがあるとします。この時、カテゴリ別の記事数を取得するクエリは以下のようになります。

カラム数をカウントするcount()関数を使います。

取得結果の並び順を変更する「ORDER BY」

ORDER BYによって、取得したデータを任意のカラムのデータによって昇順・降順にソートすることができます。

ASCを指定すると昇順、DESCを指定すると降順でソートされます。デフォルトでは、昇順のASCなのでORDER BYではDESCを使うことが多いです。

取得するデータ件数を指定する「LIMIT」

LIMITでは取得するデータの件数を指定できます。