SQLで武器の情報をみてみよう

SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ

今日は、闘いに備えて、
武器の威力の平均・最大値などを求めて見ます。

まず、データベースを選択して、
武器の表Weaponを表示します。

これらの武器の最大の威力は「ジャイアンの歌」の100、
最小は「へ(屁)」の3、全てのデータ件数は5件、

匂い系の武器は「へ」と「正◎丸」の2件、

威力が6以上は、「かみなりビーム」、「ジャイアンの歌」、
「正◎丸」の3件、

平均(24.2)より大きいのは、 「ジャイアンの歌」のみです。

これらをSQLで取り出して見ます。
バカなことやっているようですが、
個人的には勉強になっています(=^・^=)

まず、power(威力)の合計と平均を求めて見ます。

select sum(power),avg(power) from Weapon;

最大と最小を求めます。

select max(power),min(power) from Weapon;

件数を求めます。

select count(*) from Weapon;

匂い(smellのsme)系統の武器を求めます。

select name,type_id from Weapon where type_id=’sme’;

匂い(smellのsme)系統の武器の件数を求めます。

select count(type_id) from Weapon where type_id=’sme’;

power(威力)が6以上の件数を求めます。

select count(power) from Weapon where power>=6;

最後に、威力が平均以上の武器の名前と威力を表示させます。

select name,power from Weapon where power >= (select avg(power) from Weapon);

お疲れ様でした。

SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ

SQLで条件抽出攻撃開始!!

SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ

身近にこういう人いませんか?

こういう人にお灸をすえましょう。
前回作った武器の表Weaponを表示します。

select * from Weapon;

何で攻撃しようかな。
わくわく(=^・^=)

最初は「へ」をぶっかけてやりましょう。
「’」(シングルクォーテーション)で囲みます。

select name from Weapon where buki_id=’B0004′;

次に、名前に「◎」が付く攻撃をしましょう。

select name from Weapon where name like ‘%◎%’;

「%」はワイルドカードっていって、
「◎」を含むなどを指定できます。

次は、威力が6以上の武器を使います。

select name,power from Weapon where power>=6;

最後に、威力が大きい順に並べます。

select name,power from Weapon order by power desc;

次回は集約関数を使ってみます。

SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ

SQLで反撃開始データベース作成!!

SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ

SQLを使って、嫌なヤツを反撃せよ!!

現実的に、人を武器で攻撃するわけには
行きませんので、データベースを使って、
憎いヤツの攻撃をするイメージで
表を作成します。

hangekikaishi(反撃開始)というデータベースの中に、
武器を格納する倉庫のような表Weaponなどを作成します。

①まず最初にデータベースを作成します。
create database hangekikaishi;

②作ったデータベースの確認をします。
show databases;

③今作ったデータベースを早速使います。
use hangekikaishi;

この中に、攻撃するための武器を格納します。

う◎こ爆弾、投げる系、威力5
といった表のイメージです。

buki_id(武器ID)を、商品番号みたいな感じで
主キー(他の列を指定できる、一番エライ列)にします。
このIDはBOOO1のようにするので、5文字にします。

name(名称)武器の名前は10文字以内にします。

type_id(タイプID)は、投げるだったら英語で
throwなので、先頭の3文字を取ってthrというように
するので、3文字にします。

power(威力)は整数型です。

データ型はこのように指定しました。

今度は投げる系、打つ系、騒音系、匂い系などの
タイプを登録する表Shubetsuを作ります。
タイプIDで、2つの表を関連付けます。

タイプの名前も10文字以内にします。

データ型はこのように指定しました。

2つの表は、Type_idで、このようなイメージで関連付けられます。

では、この2つの表を登録します。
まずは、Weaponを登録します。

create table Weapon(
buki_id char(5) not null,
name varchar(10) not null,
type_id char(3),
power int,
primary key(buki_id)
);

次に、Shubetsuを登録します。

create table Shubetsu(
type_id char(3),
tyname varchar(10)
);

表に、武器と種別のそれぞれのデータを登録します。

insert into Weapon
values (‘B0001′,’う◎こ爆弾’,
‘thr’,5);
insert into Weapon
values (‘B0002′,’かみなりビーム’,
‘hit’,7);
insert into Weapon
values (‘B0003′,’ジャイアンの歌’,
‘noi’,100);
insert into Weapon
values (‘B0004′,’へ’,
‘sme’,3);
insert into Weapon
values (‘B0005′,’正◎丸’,
‘sme’,6);

では、登録した表Weaponを確認します。
select * from Weapon;

次に、Shubetsuにデータを登録します。

insert into Shubetsu
value(‘thr’,’投げる’);
insert into Shubetsu
value(‘hit’,’打つ’);
insert into Shubetsu
value(‘noi’,’騒音攻撃’);
insert into Shubetsu
value(‘sme’,’匂い攻撃’);

これも、確認します。
select * from Shubetsu;

最後に、この2つの表を、type_idで関連付けます。

select Weapon.name,
Weapon.type_id,
Shubetsu.tyname
from Weapon,Shubetsu
where Weapon.type_id=Shubetsu.type_id;

お疲れ様でした。
次回からデータを取り出します。

SQL自作サンプル集へ
基本情報技術者試験トップへ
これからプログラミングを始める方へ
資格トップへ