1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

コーディング試験の初級レベルのSQL問題チートシート

Posted at

コーディング試験でよくある初級レベルの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 条件

まとめ

以上でチートシートは終わりです.
ざっくりのまとめになるので,何かご指摘がありましたら遠慮なくコメント欄にてお願いいたします.

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?