基本的な書き方
SELECT ① FROM ②
SELECT ① FROM ② WHERE ③ GROUP BY ④ ORDER BY ⑤
①、カラム名
そのテーブルのすべてのカラムを表示するときは * を記入する。
カラム指定の場合はカラム名を、複数の場合はカンマ区切りで書く
戻り値が数値の場合は+-*/の演算子が使用可能
例:カラムABCでは
ABC + 10
と記入することでデータベースの数値より10増えた数値を取得できる
②テーブル名
③カラムの条件を指定して抽出する場合に使用。比較演算子など使える
例:カラムABCで一定以上の数値の場合は
WHERE ABC >= 1000
と記入
文字列の場合も可能
例:ABC = ‘課長’
複数の指定も可能
DEF != 500 AND GHI = ‘部長’
WHEREの中で使える演算子は下部を参照
④グループ化
カラム名
⑤並び替え
ASC と DESC
ORDER BY(並び替え)
並び替え
昇順(1⇒2⇒3)
通常は書かなくてもその通りになる
ORDER BY カラム ASC
降順(3⇒2⇒1)
ORDER BY カラム DESC
複数の指定の場合はカンマ区切りで書く(前に書いた順から適用される)
ORDER BY カラムA, カラムB DESC
GROUP BY (グループ化)
SELECT文に記載することができるカラムは、GROUP BYで指定したカラムと集合関数を記述することが出来まる
SELECT JOB,AVG(SAL)
FROM EMP
GROUP BY JOB
指定したカラムごとにグループ化し、集合関数の計算結果を取得することができる
グループ化したテーブルの条件抽出(HAVING)
--SAL(給料)の平均が2500以上のJOB(仕事)を抽出する
SELECT JOB
FROM EMP
GROUP BY JOB
HAVING AVG(SAL) >= 2500
WHEREの後ろで使える演算子


BETWEEN
WHERE カラム BETWEEN 1000 AND 2000
↑ このカラムの中の1000から2000のものから選ぶ
否定形は↓ NOT が付く
WHERE カラム NOT BETWEEN 1000 AND 2000
LIKE 文字列が含まれるかどうか
WHERE カラム LIKE '%文字列%'
否定形はLIKEの前にNOT
%の代わりに_も可能だが1文字のみ
詳細は上部表を参考に
‘%A2’ の場合は A2の前にどのような文字が来てもいいが、後ろに続く文字はなし、つまりA2で終わる
‘A2%’ の場合はA2で始まる文字でその後は何文字でも可
_の場合は指定の文字列の前後は一文字のみになる
IN
WHERE カラム IN(1000, 2000, 3000)
WHERE カラム IN('食費', '交際費', '広告費')
重複行の排除(DISTINCT)
--抽出したレコードから重複行を削除する
SELECT DISTINCT JOB,SAL
FROM EMP