「php05-2」の編集履歴(バックアップ)一覧に戻る

php05-2 - (2012/01/23 (月) 17:42:40) の編集履歴(バックアップ)



(8)-3 おさらい練習問題2

  • 下記にサンプルデータを記す。これを用いて集計等を行った。
+ ←クリックで開く
create table tb (
id int(11) not null auto_increment,
bang varchar(50) not null,
uria int,
tuki int,
primary key (id)
);
insert into tb (bang, uria, tuki) values ('A103', 101, 4);
insert into tb (bang, uria, tuki) values ('A102', 54, 5);
insert into tb (bang, uria, tuki) values ('A104', 181, 4);
insert into tb (bang, uria, tuki) values ('A101', 184, 4);
insert into tb (bang, uria, tuki) values ('A103', 17, 5);
insert into tb (bang, uria, tuki) values ('A101', 300, 5);
insert into tb (bang, uria, tuki) values ('A102', 205, 6);
insert into tb (bang, uria, tuki) values ('A104', 93, 5);
insert into tb (bang, uria, tuki) values ('A103', 12, 6);
insert into tb (bang, uria, tuki) values ('A107', 87, 6);

create table tb1 (
id int(11) not null auto_increment,
bang varchar(50) not null,
nama varchar(50) not null,
tosi int,
primary key (id)
);
insert into tb1 (bang, nama, tosi) values ('A101', '佐藤', 40);
insert into tb1 (bang, nama, tosi) values ('A102', '高橋', 28);
insert into tb1 (bang, nama, tosi) values ('A103', '中川', 20);
insert into tb1 (bang, nama, tosi) values ('A104', '渡辺', 23);
insert into tb1 (bang, nama, tosi) values ('A105', '西沢', 35);

create table tb3 (
id int(11) not null auto_increment,
bang varchar(50) not null,
ken varchar(50) not null,
primary key (id)
);
insert into tb3 (bang, ken) values ('A101', '東京都');
insert into tb3 (bang, ken) values ('A102', '埼玉県');
insert into tb3 (bang, ken) values ('A103', '神奈川県');
insert into tb3 (bang, ken) values ('A104', '北海道');
insert into tb3 (bang, ken) values ('A105', '静岡県');

【tb】
id bang uria tuki
1 A103 101 4
2 A102 54 5
3 A104 181 4
4 A101 184 4
5 A103 17 5
6 A101 300 5
7 A102 205 6
8 A104 93 5
9 A103 12 6
10 A107 87 6

【tb1】
id bang nama tosi
1 A101 佐藤 40
2 A102 高橋 28
3 A103 中川 20
4 A104 渡辺 23
5 A105 西沢 35

【tb3】
id bang ken
1 A101 東京都
2 A102 埼玉県
3 A103 神奈川県
4 A104 北海道
5 A105 静岡県


  • 合わせて表示例1
select tb.bang, tb1.nama, 
tb.uria
from tb
join tb1
using (bang);

  • 合わせて表示例2
select tb.bang as '社員番号', tb1.nama as '氏名', tb.uria as '売上' 
from tb
join tb1
using(bang)
where tb.uria>=100;
結果
社員番号 氏名 売上
A103 中川 101
A104 渡辺 181
A101 佐藤 184
A101 佐藤 300
A102 高橋 205

  • 合わせて表示(たくさん)
select
tb.bang, tb.uria, tb1.nama, tb3.ken
from tb
join tb1
using(bang)
join tb3
using(bang);
結果
bang uria nama ken
A103 101 中川 神奈川県
A102 54 高橋 埼玉県
A104 181 渡辺 北海道
A101 184 佐藤 東京都
A103 17 中川 神奈川県
A101 300 佐藤 東京都
A102 205 高橋 埼玉県
A104 93 渡辺 北海道
A103 12 中川 神奈川県


※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。






前のページ < | > 次のページ
◆ ◆ ◆