コーディング試験でよくある初級レベルのSQL問題を解くために必要なチートシートです.
【!注意!】
あくまでチートシートです.
しっかりと勉強して解いた方が得なので,まじめに勉強しましょう.
また,これがわかれば完答できるというわけではないので,参考程度に.
そもそも筆者も初学者で備忘録的に書いています.
間違っていたらご指摘ください.
前提条件
カラムとして
- id (固有のid)
- name (名前)
- salary (給料)
という属性を持ったテーブル「Job」を想定して解説していきます.
目次
レコードの追加
INSERT INTO Job(id, name, salary)
VALUES (1, 'Sato Takuma', 1500);
とすればレコードが追加されます.
自動採番が設定されている場合は以下の命令を実行することで自動でidが設定されテーブルの最後尾にレコードが追加されます.
INSERT INTO Job(name, salary)
VALUES ('Sato Takuma', 1500);
この章のまとめ
レコードの追加は以下の命令で実行.
INSERT INTO テーブル名(カラム名_1, カラム名_2, ……)
VALUES (値_1, 値_2)
レコードに対して四則演算を行う
簡単な例
SELECT id, name, salary*2
FROM Job
とすると,salaryが2倍された状態で出力されます.
カラム内のすべてのフィールドに四則演算を行いたいときは簡単です.
特定の条件を指定したレコードに対して四則演算を行う場合
例えば,特定のidの人の給料を2倍にしたい場合は以下のような命令をすればOKです.
UPDATE Job
SET salary = salary*2
WHERE id >= 5
こうすることでidが5以上の人の給料を2倍にする処理ができました.
この章のまとめ
レコードに対して四則演算を行うには以下の命令で実行.
UPDATE テーブル名
SET 四則演算
WHERE 条件
レコードの取得
重複なく取得する場合
例えば salary が何種類あるか知りたいときはDISTICTを使います.
種類を知るだけならCountでもいいとか突っ込んだら負けです.いい例が思いつきませんでした.
SELECT DISTINCT salary
FROM Job
このように命令すれば,salaryカラムのみの出力となりますが重複は削除されて出力されます.
特定の条件を指定してレコードを取得する場合
例えばsalaryが3000以上の人を表示させたい場合は以下の命令を実行すればOKです.
SELECT *
FROM Job
WHERE salary >= 3000
この章のまとめ
重複なく取得したい場合
SELECT DISTINCT カラム名
FROM テーブル名
条件指定してレコードを取得したい場合
SELECT カラム名
FROM テーブル名
WHERE 条件
まとめ
以上でチートシートは終わりです.
ざっくりのまとめになるので,何かご指摘がありましたら遠慮なくコメント欄にてお願いいたします.