[ソフ技] データの参照

woody_1227 オーナー 公式アカウント

SELECT
ログインすると、チェック機能を利用できるようになります。

データの参照(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 列名 条件;