環境
- Windows 7
- XAMPP 1.7.7
- Oracle MySQL 5.5.16
気づき
SQLで書くのは手順じゃなくて、「何が欲しいか」?
本題
クエリ
| CREATE | 作成 |
| SELECT | 抽出・コピー |
| UPDATE | 更新 |
| DELETE | 削除 |
抽出・絞り込み
| WHERE | 条件をレコードに対して適用し、抽出する句 |
| GROUP BY | カラムを基準で、複数レコードをグループにする |
| HAVING | グループに対して条件を適用し、抽出する句 |
WHERE → GROUP BY → HAVINGの順で適用される
JOIN : 異なるテーブル同士を、何らかのキーを用いて結合させる
| INNER JOIN | 対応するレコードのみで結合する |
| LEFT OUTER JOIN | 左側のレコードはすべて残される。対応する値があるレコードのみが結合される |
| RIGHT OUTER JOIN | ↑の挙動が右基準になっただけ |
結合条件 : ON table1.x = table2.x : table1のxとtable2のxが同じレコードで結合させる
USING(x) : 若干挙動は違うけど、table1.x=table2.xを省略したようなもの?
別表記 : INNER JOIN = JOIN, LEFT OUTER JOIN = LEFT JOIN, RIGHT OUTER JOIN = RIGHT JOIN
自己結合 :自己のテーブルを結合させる。すべての組み合わせで結合される