「 ` 」は書式には関係ないです
BETWEEN演算子
ある範囲内に値が収まっているか判定する
select *
from `表`
where `列名` BETWEEN `値1` and `値2`;
IN / NOT IN演算子
カッコ内に並べた値のいずれかに合うデータがあるか判定する。
= では一つしか判定できないが、IN演算子は複数の値を判定できる
select *
from `表`
where `列名` IN (`値1`,`値2`);
ORDER BY ---- 結果の並び替え
ORDER BYを記述すると、指定した列名を基準に結果を並び替える
ASC … 昇順
DESC … 降順
select *
from `表`
ORDER BY `列名` ASC or DESC;
行数を限定して、抽出する
一部の行だけを抜き出したい場合はORDER BY句に続けて、OFSET - FETCH句をつける
select *
from `表`
ORDER BY `列名`
OFFSET `先頭から除外する行` ROWS
FETCH NEXT `取得行数` ROWS ONLY;
DISTINCT ---- 重複を除外する
DISTINCTを記述すると、重複した行があれば取り除いてくれる
select DISTINCT `列名`
from `表`;
UNION演算子 ---- 和集合を求める
2つのSELECT文をUNIONでつなぐと、検索結果を足し合わせた結果が返ってくる
select `列名` from `表`
UNION
select `列名` from `表`
EXCEPT(エクセプト)演算子 ---- 差集合を求める
上のSELECT文の検索結果から、下のSELECT文の検索結果に存在する行を引いた集合
select `列名` from `表`
EXCEPT
select `列名` from `表`
INTERSECT演算子 ---- 積集合を求める
2つのSELECT文に共通する行を抽出する
select `列名` from `表`
INTERSECT
select `列名` from `表`
集合演算は2つ目のselect文の後ろにORDER BY句を付けれる
(途中には書けない)
CASE演算子 ---- 値を変換する
列の値や条件式を評価し、その結果に応じて値を変換してくれる
CASE `評価する列や式` WHEN `値1` THEN `値1の時に返す値`
WHEN `値2` THEN `値2の時に返す値`...
ELSE `デフォルト値`
END AS `つけたい名前`
LENGTH/LEN関数 ---- 長さを得る
文字列の長さを調べてくれる
LENはSQL ServerでLENGTH関数の代わりに使う
select LENGTH(`列名`) AS `列名の長さ` from `表名`
SUBSTRING関数 ---- 一部を抽出する
「何文字目から何文字文」文字列を抽出できる
select * from `表名`
where SUBSTRING(`費目`,1,3) LIKE '%費%'
REPLACE関数 ---- 文字列を別の文字列に変換する
文字列「axxle」の「x」を「p」に変換して「apple」にできる
LENGTH関数で文字列の空白を半角にするときにも使う