未来電子テクノロジーでインターンをしているyukako_nishimuraです。
リレーショナルデータベース
2次元の表みたいなもの。
id | name | grade |
---|---|---|
1 | Tom | 2 |
2 | Jerry | 3 |
SELECT文
SQLデータベースからデータを検索できます。
SELECT (DISTINCT) 表示するカラム(, …)
FROM テーブル名
INNER/LEFT/RIGHT/FULL JOIN 結合するテーブル名 ON 結合条件
WHERE 検索条件
ORDER BY ソートするカラム ASC(昇順)/DESC(降順)
LIMIT 表示する列数 OFFSET 表示する最初の列番号-1
重複を避ける
SELECTの後にDISTINCTをつけると、重複を省くことができます。
表示するカラムの指定
id | name | grade |
---|---|---|
1 | Tom | 2 |
2 | Jerry | 3 |
この場合のカラムは、
- id
- name
- grade
の3つ。
全部表示したい場合は、カラムに*
を指定。
表の結合の種類
内部結合と外部結合
内部結合は、結合条件にマッチする列のみを表示します。
つまり結合条件にマッチしない列は、表示しません。
外部結合は、片方の表にしか存在しない列も表示します。その場合、もう一方の列はNULLで表示します。
種類 | 意味 |
---|---|
INNER | 内部結合 |
LEFT | 左側の表のカラムのみを全て表示する外部結合 |
RIGHT | 右側の表のカラムのみを全て表示する外部結合 |
FULL | 両方の表のカラムを全て表示する外部結合 |
検索条件
検索条件が複数ある場合
検索条件 AND/OR 検索条件 …
数値の比較演算子
演算子 | 意味 |
---|---|
=, !=, <,>,<=,>= | 数値の比較 |
BETWEEN … AND … | 数字が範囲内にある |
NOT BETWEEN … AND … | 数字が範囲外にある |
IN(数字,…) | 数字のリストに含まれている |
NOT IN(数字,…) | 数字のリストに含まれていない |
文字列の比較演算子
演算子 | 意味 |
---|---|
=, !=, <> | 一致、不一致 |
LIKE, NOT LIKE | 一致、不一致(大文字小文字を区別しない) |
IN(…), NOT IN(…) | リストに一致するものがあるかどうか |
% | LIKE,NOT LIKEで使える。文字列中で使い、0個以上の任意の文字を表現 |
- | LIKE,NOT LIKEで使える。文字列中で使い、1個の任意の文字を表現 |