SQLは大文字と小文字を区別しないため、小文字で記述しても問題ありません。
「ここまでがクエリです」ということを伝えるためのセミコロン(;)を加える
実行手順
上 → 先
下 → 後
| 〜句 | 内容 |
|---|---|
| FROM | テーブル指定 |
| JOIN | テーブルの結合 |
| WHERE | 条件指定 |
| GROUP BY | グループ化 |
| SUM, AVGなど | 関数 |
| HAVING | 集計後の絞り込み |
| SELECT, DISRINCT | 検索 |
| ORDER BY | 並べ替え |
| LIMIT | 取得件数の指定 |
-
コメントアウト
-- /* contents */ -
column(列)のデータを取得
SELECT columnname -
tableの指定
FROM tablename; -
columnを選択する時に先にcolumn名を指定し、次はtable名を指定する
SELECT columnname FROM tablename; -
複数のcolumnを選択する
SELECT columnname1,columnname2,columnname3 FROM tablename; すべてのcolumnを選択する SELECT * FROM tablename; -
record(行)を取得する
WHERE columnname = "recordname" -
ある文字を含むデータを取得する
SELECT columnname FROM tablename 特定のcontentsのデータ WHERE columnname LIKE "contents" contentsを含むすべてのデータ WHERE columnname LIKE "%contents%" contents前方一致のデータ WHERE columnname LIKE "contents%" contents後方一致のデータ WHERE columnname LIKE "%contents" -
条件に満たさないデータ
SELECT columnname FROM tablename WHERE NOT columnname >= "contents" WHERE NOT columnname LIKE "contents" -
何のデータも保存されていない場合
NULL NULLのデータやNULLでないデータを取得する場合は SELECT columnname FROM tablename WHERE columnname IS NULL WHERE columnname IS NOT NULL 使用できない WHERE columnname LIKE NULL 使用できない WHERE columnname = NULL -
WHEREに複数の条件を指定する
SELECT columnname FROM tablename WHERE columnname1 = "contents" AND columnname2 = "contents" -
WHERE 条件1 OR 条件2
SELECT columnname FROM tablename WHERE columnname1 = "contents" OR columnname2 = "contents" -
データを並び替える
SELECT * FROM tablename 「昇順」は「ASC」、「降順」は「DESC」 ORDER BY (基準となる)並べ替えたいcolumn名 並べ方 -
「最大で何件取得するか」を指定する
SELECT * FROM tablename LIMIT number -
検索結果から指定したcolumnの重複するデータを除く
SELECT distinct(columnname) FROM tablename -
各種の計算
nullは計算されない
+ - * / 合計を求めるSUM(columnname) 平均を求めるAVG(columnname) サンプルサイズを計算するCOUNT(columnname) 最小のデータMAX(columnname) 最大のデータMAX(columnname) -
データをグループ化する
SELECT columnname1, columnname2 FROM tablename GROUP BY columnname1/columnname2 -
条件を満たすグループを取得する。HAVINGはGROUP BYによってグループ化されたデータを検索対象としする。
SELECT columnname1, columnname2 FROM tablename GROUP BY columnname1/columnname2 HAVING 条件 -
サブクエリとは2つ以上のクエリを1つにまとめることができるので、より複雑なデータを取得する際に使われます。
SELECT columnname1 FROM tablename WHERE columnname1 比較符 ( SELECT columnname1 FROM tablename WHERE columnname1 ); -
取得したカラム名の表示を変更することができる
SELECT columnname1 AS "newname" -
複数のテーブルを1つに結合する
SELECT * FROM tablename1 JOIN tablename2 ON 結合条件(table名1.外部column名 = table名2.主キーcolumn名)(主に二つのtableの重なっている部分) -
FROMで指定したテーブルのレコードを全て取得する
SELECT columnname1 FROM tablename1 LEFT JOIN tablename2 /* LEFT JOIN はFROMの後ろに書くテーブルを基準テーブルとして参照する*/ /* RIGHT JOIN の後ろに書くテーブルは基準テーブルとして参照する*/ /* INNER JOIN はFROMとINNER JOINの後ろに書くテーブル両方を参照する*/ ON 結合条件(tablename1.外部column名 = tablename2.主キーcolumn名) -
CASE式で条件分岐
--単純CASE式 CASE gender WHEN '男' THEN 1 WHEN '女' THEN 2 ELSE 99 END --検索CASE式 CASE WHEN gender = '男' THEN 1 WHEN gender = '女' THEN 2 ELSE 99 END -
テーブルにレコードを挿入する
多くの場合、idカラムにはAUTO INCREMENTという機能が使われます。AUTO INCREMENTとは「自動で増加する」といった意味で、データが作成されるときに自動で値が割り当てられます。
INSERT INTO tablename (columnname1, columnname2) VALUES ('contents', 'contents'); -
データを更新する
UPDATE tablenem SET columnname1 = "contents", columnname2 = "contents" WHERE record = contents; -
レコードを削除する
DELETE FROM tablename WHERE record;