データを取得する
/* 基本 */
SELECT カラム名 FROM テーブル名;
//テーブルのカラムのデータを取得する
/* 複数のカラムのデータを取得する場合 */
SELECT カラム名1, カラム名2 FROM テーブル名;
//テーブルのカラム名1とカラム名2のデータを取得する
テーブルのカラムのデータを全て取得する場合は✴︎(アスタリスク)をカラム名に指定する
SELECT * FROM テーブル名;
//テーブルのカラムのデータを全て取得する
AS + 付けたいカラム名
取得したデータを新しいカラム名で表示したいときはAS + 新しいカラム名とする
SELECT カラム名 AS "名前" FROM users;
//usersテーブルのカラムのデータを取得し、"名前"というカラム名で表示する
データを絞り込む
WHERE
WHEREの後ろに絞り込みのための条件を書くことで取得するデータの絞り込みができる
SELECT カラム名 FROM テーブル名 WHERE 条件式;
記号 | 意味 |
> | 大きい |
>= | 以上 |
< | 少ない |
<= | 以下 |
= | 等しい |
!= | 等しくない |
AND | かつ |
OR | または |
以上、以下のときはbetween A AND B、IN (A, B)がそれぞれ使える。
SELECT * FROM テーブル名 WHERE カラム名 between A AND B;
//AかつB
SELECT * FROM テーブル名 WHERE カラム名 IN (A, B);
//AまたはB
NOTをつけることで条件を反転できる。
SELECT * FROM テーブル名 WHERE NOT 条件式;
//条件式に当てはまらない
部分一致で絞り込む
%
LIKEと%を使うことで0文字以上の任意の文字を含むデータを取得できる
SELECT * FROM テーブル名 WHERE カラム名 LIKE "〇〇%";
//〇〇で始まる
SELECT * FROM テーブル名 WHERE カラム名 LIKE "%〇〇";
//〇〇で終わる
SELECT * FROM テーブル名 WHERE カラム名 LIKE "%〇〇%";
//〇〇が含まれる
_(アンダーバー)
任意の1文字
SELECT * FROM テーブル名 WHERE カラム名 LIKE "_〇〇";
//1文字+〇〇で終わる
空のデータの取得するNULL
中身のデータがないカラムを取得する場合はNULLを使う
SELECT * FROM テーブル名 WHERE カラム名 is NULL;
//カラム名がないもの
SELECT * FROM テーブル名 WHERE カラム名 is not NULL;
//カラム名がNULLでないもの
表示件数を変えるLIMIT
LIMIT + 数字で表示件数を変えられる
SELECT * FROM テーブル名 LIMIT 数;
//指定した件数を表示
並べ替えるORDER BY
データを並び替える場合はORDER BYを使う
SELECT * FROM テーブル名 ORDER BY 並び替えの条件;
並べ替えたものの順番を変える場合はASC、DESCをそれぞれ使う
SELECT * FROM テーブル名 ORDER BY 並び替えの条件 ASC;
//昇順
SELECT * FROM テーブル名 ORDER BY 並び替えの条件 DESC;
//降順
絞り込みの条件を増やす場合はカンマで区切る
SELECT * FROM テーブル名 ORDER BY 並び替えの条件1, 並び替えの条件2;
//条件1で絞ったあと、条件2で絞る
WHEREと組み合わせてもOK
SELECT * FROM テーブル名 WHERE 条件 ORDER BY 並び替えの条件;
重複データを除くDISTINCT
重複データを除くときはDISTINCTを使う
SELECT DISTINCT カラム名 FROM テーブル名;
//重複データを除いたカラム名を一覧で取得
データを操作する
集計関数
関数名 | 意味 |
---|---|
SUM | 合計 |
AVG | 平均 |
MAX | 最大値 |
MIN | 最小値 |
COUNT | レコード数を数える |
/* データの取得 */
SELECT SUM(カラム名) FROM テーブル名;
//カラム名の合計を出す
SELECT AVG(カラム名) FROM テーブル名;
//カラム名の平均を出す
SELECT MAX(カラム名) FROM テーブル名;
//カラム名の最大値を取得
SELECT MIN(カラム名) FROM テーブル名;
//カラム名の最小値を取得
SELECT COUNT(カラム名) FROM テーブル名;
//カラムの数を取得
グループ分けするGROUP BY
「~ごとの」、「~毎の」という感じでグループ分けしたい時に使う
SELECT カラム名 FROM テーブル名 GROUP BY カラム名;
//カラム名ごとのデータをグループ化する
GROUP BYの結果をさらに絞り込む場合はWHEREではなくHAVINGを使う
SELECT カラム名 FROM テーブル名 GROUP BY カラム名 HAVING 条件;
//カラム名ごとのデータをグループ化し、さらにそれを条件で絞り込む
コメント