3つのテーブルからそれぞれ2つのカラムを選んで結合し重複の値を1つとして数え表示する
3つのテーブルからそれぞれ2つのカラムを選んで結合し全て表示する free86
Tuesday,July,30,2013
今回3つのデータベースdbを使う
sadachika_shop
kittaka_shop
hirayama_shop
○データベースを作る
mysql> create database hirayama_shop;
Query OK, 1 row affected (0.05 sec)
○データベースを見る
MySQL> show databases;
Database
hirayama_shop *新しく作成された
Kittaka_shop *今回はこのdbを使う
sadachika_books
sadachika_shop *今回はこのdbを使う
○特定のデータベース内のテーブル
SHOW TABLES FROM sadachika_shop;
sadachi_user*このテーブル名を使いたいのでテーブル名を変更して、別途新設する
○テーブルの名前を変更する ↓新しいテーブル名
mysql> alter table sadachika_shop.sadachi_user rename to sadachika_shop.sadachi_lessonuser;
Query OK, 0 rows affected (0.14 sec)
○テーブルの中身の表示
mysql> select * from sadachika_shop.sadachi_user; *表示されない
mysql> select * from sadachika_shop.sadachi_lessonuser; *表示された
テーブルを作る
mysql> create table sadachika_shop.sadachi_user (sada_username varchar(10), sada_address varchar(10));
Query OK, 0 rows affected (0.11 sec)
mysql> create table Kittaka_shop.kitta_request (kit_name varchar(10), kit_address varchar(10), kit_d date);
Query OK, 0 rows affected (0.01 sec)
mysql> create table hirayama_shop.hiraya_seminar (hira_sid int, hira_name varchar(10), hira_address varchar(10));
Query OK, 0 rows affected (0.00 sec)
値の重複を避けるには、プライマリキーやユニークを使うが、今回は苗字が同一だったり、建物が同じ可能もあるので使うのを避ける
int(11) not null primary key
varchar(20) unique
mysql> insert into sadachika_shop.sadachi_user values('鈴木', '大阪府大阪市'),('佐藤', '岡山県岡山市'),('定近', '広島県府中市'),
->('定近', '東京都荒川区'),('横山', '東京都荒川区');
Query OK, 5 rows affected (0.06 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> insert into Kittaka_shop.kitta_request values('鈴木', '大阪府大阪市',20130730),('小林', '東京都荒川区',20130730),
->('佐藤', '岡山県岡山市',20130730),('定近', '広島県府中市',20130730),('橘高', '広島県笠岡市',20130730),
->('平山', '福岡県福岡市',20130730),('本田', '東京都荒川区',20130730),('定近', '東京都荒川区',20130730);
Query OK, 8 rows affected (0.03 sec)
Records: 8 Duplicates: 0 Warnings: 0
mysql> insert into hirayama_shop.hiraya_seminar values(1, '佐藤', '岡山県岡山市'),(1, '定近', '広島県府中市'),(1, '定近', '東京都荒川区'),
->(2, '橘高', '広島県笠岡市'),(2, '平山', '福岡県福岡市'),(2, '松田', '福岡県福岡市');
Query OK, 6 rows affected (0.02 sec)
Records: 6 Duplicates: 0 Warnings: 0
○テーブルの中身の表示
mysql> select * from sadachika_shop.sadachi_user;
sada_username sada_address
鈴木 大阪府大阪市*重複
佐藤 岡山県岡山市*重複
定近 広島県府中市*重複
定近 東京都荒川区 *住所別重複
横山 東京都荒川区
5 rows in set (0.00 sec)
mysql> select * from Kittaka_shop.kitta_request;
kit_name kit_address kit_d
鈴木 大阪府大阪市 2013-07-30*重複
小林 東京都荒川区 2013-07-30
佐藤 岡山県岡山市 2013-07-30*重複
定近 広島県府中市 2013-07-30*重複
橘高 広島県笠岡市 2013-07-30 *重複
平山 福岡県福岡市 2013-07-30 *重複
本田 東京都荒川区 2013-07-30
定近 東京都荒川区 2013-07-30 *住所別重複
8 rows in set (0.00 sec)
mysql> select * from hirayama_shop.hiraya_seminar;
hira_sid hira_name hira_address
1 佐藤 岡山県岡山市*重複
1 定近 広島県府中市*重複
1 定近 東京都荒川区 *住所別重複
2 橘高 広島県笠岡市 *重複
2 平山 福岡県福岡市 *重複
2 松田 福岡県福岡市
6 rows in set (0.00 sec)
○○○3つのテーブルからそれぞれ2つのカラムを選んで結合し重複の値を1つとして数え表示する
mysql> select sada_username, sada_address FROM sadachika_shop.sadachi_user
-> UNION SELECT kit_name, kit_address FROM Kittaka_shop.kitta_request
-> UNION SELECT hira_name, hira_address FROM hirayama_shop.hiraya_seminar;
sada_username sada_address
鈴木 大阪府大阪市
佐藤 岡山県岡山市
定近 広島県府中市
定近 東京都荒川区
横山 東京都荒川区
小林 東京都荒川区
橘高 広島県笠岡市
平山 福岡県福岡市
本田 東京都荒川区
松田 福岡県福岡市
10 rows in set (0.00 sec)
○○長文
mysql> select sadachi_user.sada_username, sadachi_user.sada_address FROM sadachika_shop.sadachi_user
-> UNION SELECT kitta_request.kit_name, kitta_request.kit_address FROM Kittaka_shop.kitta_request
-> UNION SELECT hiraya_seminar.hira_name, hiraya_seminar.hira_address FROM hirayama_shop.hiraya_seminar;
○○○3つのテーブルからそれぞれ2つのカラムを選んで結合し全て表示する
mysql> select sada_username, sada_address FROM sadachika_shop.sadachi_user
-> UNION ALL SELECT kit_name, kit_address FROM Kittaka_shop.kitta_request
-> UNION ALL SELECT hira_name, hira_address FROM hirayama_shop.hiraya_seminar;
sada_username sada_address
鈴木 大阪府大阪市
佐藤 岡山県岡山市
定近 広島県府中市
定近 東京都荒川区
横山 東京都荒川区
鈴木 大阪府大阪市*重複
小林 東京都荒川区
佐藤 岡山県岡山市*重複
定近 広島県府中市*重複
橘高 広島県笠岡市
平山 福岡県福岡市
本田 東京都荒川区
定近 東京都荒川区*重複
佐藤 岡山県岡山市*重複
定近 広島県府中市*重複
定近 東京都荒川区*重複
橘高 広島県笠岡市*重複
平山 福岡県福岡市*重複
松田 福岡県福岡市
19 rows in set (0.06 sec)
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。