データの参照(SELECT)
構文
条件付きでデータを参照する。
列名1, 列名2, ... FROM
条件;
※列名を"*"とすることで、全ての列を指定することができる。表示される列名を変更する(AS)
構文
SELECT 列名1
列の表示名1, 列名2 AS 列の表示名2 FROM テーブル名;
条件に該当するデータを取得する(WHERE)
| 比較演算子 | =, <, <= , >, >=, または |
| 論理演算子 | , |
| LIKE演算子 | (別項目で説明) |
| AからBの間の値 | A B |
| 値リストで指定された値と一致する | (値1, 値2, ...) |
曖昧な文字列を抽出する(LIKE)
構文
列名 LIKE 文字列
文字列の部分は、ワイルドカード"%"を使うことができる。XX% 先頭がXXで始まる
%XX 最後がXXで終わる
%XX% XXを含む
関数でデータを活用する
SELECTコマンドの列名の部分には、関数を指定することもできる。| 行数 | |
| 特定の列の合計 | (列名) |
ソートしてデータを取得(ORDER BY)
指定した列でソートして表示する。構文
SELECT ...
;
「ASCまたはDESC」の部分はデータを昇順(
)にするか降順(
)にするかを指定している。省略することも可能で、その場合は 順となる。
[余談]ちなみに、次のように複数列でソートすることもできます。
(c1の昇順にソートしたのち、同じ値を持つレコードに対してc2の降順でソートします。)
SELECT * FROM t1 ORDER BY c1 ASC c2 DESC;
同じ値を持つ行を重複して表示させない(DISTINCT)
構文
SELECT
列名1, 列名2, ... FROM テーブル名;
[余談]ちなみに、DISTINCTを使うと重複無しのデータ列を関数の引数として指定できるようになります。例えば、
COUNT(DISTINCT 列名)
のようにすると、その列に登場する値の種類数を求めることができます。同じ値ごとにグループ化してデータを取得する(GROUP BY)
構文
例えば次のようにすると、列名Aごとにまとめたデータごとの合計を求めることができる。SELECT SUM(列名1) FROM テーブル名
列名A;
なお、グループ化したデータに条件を加えてデータを抽出する場合は、
を用いる。... GROUP BY 列名
条件;