演習課題「列をしぼって表示する」
右側のコードエリアでは、SQL文で、サンプルデータベースの「jobs」テーブルのデータを取得することができます。このコードを修正して、「job_name」と「vitality」の2つのカラムを順に表示するようにしてください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
入力される値
jobs
id | job_name | vitality | strength | agility | intelligence | luck |
---|---|---|---|---|---|---|
1 | 戦士 | 8 | 8 | 4 | 4 | 3 |
2 | 盗賊 | 3 | 3 | 8 | 5 | 7 |
3 | 狩人 | 5 | 5 | 7 | 5 | 4 |
4 | 魔法使い | 3 | 2 | 6 | 8 | 6 |
5 | 僧侶 | 5 | 5 | 3 | 7 | 5 |
6 | 勇者 | 10 | 10 | 10 | 10 | 10 |
期待する出力値
job_name | vitality |
---|---|
戦士 | 8 |
盗賊 | 3 |
狩人 | 5 |
魔法使い | 3 |
僧侶 | 5 |
勇者 | 10 |
演習課題「行をしぼって表示する」
右側のコードエリアでは、SQL文で、サンプルデータベースの「jobs」テーブルのデータを取得することができます。このコードを修正して、体力(vitality)が5以上の職業で、「job_name」と「vitality」の2つのカラムを順に表示するようにしてください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
入力される値
jobs
id | job_name | vitality | strength | agility | intelligence | luck |
---|---|---|---|---|---|---|
1 | 戦士 | 8 | 8 | 4 | 4 | 3 |
2 | 盗賊 | 3 | 3 | 8 | 5 | 7 |
3 | 狩人 | 5 | 5 | 7 | 5 | 4 |
4 | 魔法使い | 3 | 2 | 6 | 8 | 6 |
5 | 僧侶 | 5 | 5 | 3 | 7 | 5 |
6 | 勇者 | 10 | 10 | 10 | 10 | 10 |
期待する出力値
job_name | vitality |
---|---|
戦士 | 8 |
狩人 | 5 |
僧侶 | 5 |
勇者 | 10 |
演習課題「複数の条件をしぼってデータを選択する」
右側のコードエリアでは、SQL文で、サンプルデータベースの「jobs」テーブルのデータを取得することができます。このコードを修正して、体力(vitality)が5以上で、運(luck)が4以下の職業で、「job_name」と「vitality」と「luck」の3つのカラムを順に表示するようにしてください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
入力される値
jobs
id | job_name | vitality | strength | agility | intelligence | luck |
---|---|---|---|---|---|---|
1 | 戦士 | 8 | 8 | 4 | 4 | 3 |
2 | 盗賊 | 3 | 3 | 8 | 5 | 7 |
3 | 狩人 | 5 | 5 | 7 | 5 | 4 |
4 | 魔法使い | 3 | 2 | 6 | 8 | 6 |
5 | 僧侶 | 5 | 5 | 3 | 7 | 5 |
6 | 勇者 | 10 | 10 | 10 | 10 | 10 |
期待する出力値
job_name | vitality | luck |
---|---|---|
戦士 | 8 | 3 |
狩人 | 5 | 4 |
#03:テーブルの中身を見てみよう
初歩的なSQL文を作成して、サンプルデータベースの中身を見ていきます。データベースに対してSQLを実行するため、先ほどのチャプターで作成したpaizaデータベースの「players」テーブルを使います。
-- 全てのデータを取り出す
SELECT * FROM players;-- 一部のカラムだけ取得する
SELECT name, level FROM players;-- 一部の行だけ取得する
SELECT * FROM players WHERE level >= 7;-- 複数の条件を組み合わせる
SELECT * FROM players WHERE level >= 7 AND job_id <> 6;-- 条件指定とカラム選択を組み合わせる
SELECT name, level FROM players WHERE level >= 7;
構文 | 意味 | 例 |
---|---|---|
a = b | a と b が等しい | level = 10 |
a < b | a が b よりも小さい | level < 15 |
a > b | a が b よりも大きい | level > 7 |
a <= b | a が b 以下である | level <= 15 |
a >= b | a が b 以上である | level >= 7 |
a <> b | a と b が等しくない | level <> 1 |
条件をつなげるキーワード | 意味 |
---|---|
AND | 両方の条件が成立した場合 |
OR | どちらか一方の条件が成立した場合 |
・1週間で学ぶIT基礎の基礎 - 忙しいあなたのためのSQL入門 第3回(2):ITpro SELECT文を制する者はSQLを制す(2) ---論理演算子AND,OR,NOT
http://itpro.nikkeibp.co.jp/members/ITPro/ITBASIC/20020118/1/
・SQL クエリのコーディング規約(スタイルガイド) :: by and for engineers
https://yulii.github.io/sql-style-guide-20160327.html
・データベースオブジェクトの命名規約 - Qiita
http://qiita.com/genzouw/items/35022fa96c120e67c637
・SQLプログラミング作法
http://mickindex.sakura.ne.jp/database/db_manner.html
・俺的コーディングルール SQL編 - suVeneのアレ
http://d.zeromemory.info/2007/01/19/coding-rule-sql.html