SQLのSELECT文について学習をしたので、記録として残しておきます。
SQLとは
- SQLとはデータベースを操作するための言語。Structured Query Languageの略。
- データを定義するDDL,データを操作するDML,データを制御するDCLの3つに分類される。
SELECT文基本構文
- SELECT文はDMLのうちの1つ。基本構文は以下のとおり。
SELECT <カラム名> FROM <テーブル名>;
<カラム名>に複数の項目を指定することも可能。
SELECT カラム名1,カラム名2・・・ FROM <テーブル名>;
<カラム名>に*
を指定することで全てのカラムのデータを取得できる。
SELECT * FROM <テーブル名>;
order by 句
並び変えを行うことができる
order by カラム名 DESC or ASC
で降順or昇順に並び替え可能。(ASCは省略可能、DESCの場合は必要)
ORDERBY
SELECT *
From users
ORDER BY age ASC;
この場合、usersテーブルの全ての値を年齢順(昇順)で並び替えて取得できる。
where 句
条件を指定してデータを取得できる
SELECT <カラム名> FROM <テーブル名> WHERE 条件
で使用する。
WHERE
SELECT *
From users
WHERE id = 1;
条件以外のデータを取得したい場合は!=
または<>
を使用する。
and、or
WHERE
句に続けてANDやOR使うと条件を並べて指定することができる。
AND
SELECT カラム名1,カラム名2・・・
FROM users
WHERE first_name = "鈴木"
AND age > 20
andの場合はAかつB、orの場合はAまたはBという意味になる。
GROUP BY
指定のデータをグループ化するときに用いる。
GROUPBY
select <カラム名> from <テーブル名> GROUP BY <グループ化する要素名>;
count句
GROUP BY
によってグループ化されたデータの件数をカウントする。
COUNT
SELECT open_time,
COUNT('open_time')
FROM shops
GROUP BY open_time;
実行結果↓
open_time | COUNT('open_time') |
---|---|
5:00:00 | 7 |
6:00:00 | 2 |
7:00:00 | 6 |
とりあえずここまで。
グループ化に関しては、集計関数も大きく関係しているみたいなので学習を進めつつアウトプットしていきます!