跟燕十八学习PHP-第二十八天-union用法深入讲解
/**
芝ヤン福祉 PHP トレーニング
クラスアドレス: YY チャンネル 88354001
学習コミュニティ: www.zixue.it
**/
mysql>テーブル a を作成します (
-> id char(1),
->数値 int
-> )engine myisam charset utf8;
クエリは OK、影響を受ける行は 0 (0.17 秒)
mysql>
mysql>値に挿入 ('a',5),('b',10),('c',15),('d',10);
クエリは OK、4 行が影響を受けました (0.00 秒)
記録: 4 重複: 0 警告: 0
mysql>
mysql>テーブル b を作成します (
-> id char(1),
->数値 int
-> )engine myisam charset utf8;
クエリは OK、影響を受ける行は 0 (0.17 秒)
mysql>
mysql>値に挿入 ('b',5),('c,15),('d',20),('e',99);
'> c
'> 'c
mysql> b 値に挿入 ('b',5),('c',15),('d',20),('e',99);
クエリは OK、4 行が影響を受けました (0.00 秒)
記録: 4 重複: 0 警告: 0
mysql> select * from a;
+------+------+
| ID |番号 |
+------+------+
| | 5 |
| b | 10 |
| c | 15 |
| d | 10 |
+------+------+
4 行セット (0.00 秒)
mysql> select * from b;
+------+------+
| ID |番号 |
+------+------+
| b | 5 |
| c | 15 |
| d | 20 |
| e | 99 |
+------+------+
4 行セット (0.00 秒)
mysql> #可用用左螞接来做
mysql>
から a.*、b.* を選択します
-> a は a.id=b.id;
で b を左結合します
+------+------+------+------+
| ID |番号 | ID |番号 |
+------+------+------+------+
| | 5 | NULL | NULL |
| b | 10 | b | 5 |
| c | 15 | c | 15 |
| d | 10 | d | 20 |
+------+------+------+------+
4 行セット (0.00 秒)
mysql> # 上の結果をもう一度表にして、次からは型の子句、計算a.num+b.num の和
mysql> #这个思路,课下同学们自己来试.如遇到坑,查 ifnull関数数
mysql> #しかも少了e、只好左连連合右连、再子查询
mysql>
mysql> #换个思路,先制2张表のデータ結合を一块,再利用sum()関数数来相加
mysql> select * from a;
+------+------+
| ID |番号 |
+------+------+
| | 5 |
| b | 10 |
| c | 15 |
| d | 10 |
+------+------+
4 行セット (0.00 秒)
mysql> select * from b;
+------+------+
| ID |番号 |
+------+------+
| b | 5 |
| c | 15 |
| d | 20 |
| e | 99 |
+------+------+
4 行セット (0.00 秒)
mysql>
から * を選択
->組合
-> select * from b;
+------+------+
| ID |番号 |
+------+------+
| | 5 |
| b | 10 |
| c | 15 |
| d | 10 |
| b | 5 |
| d | 20 |
| e | 99 |
+------+------+
7 行セット (0.00 秒)
mysql> #再合計一下、
mysql> select id,sum(num) from (
->
->
から * を選択
-> 組合
-> b
から * を選択
-> ) として tmp
->
-> ID ごとにグループ化;
+------+----------+
| ID |合計(数値) |
+------+----------+
| | 5 |
| b | 15 |
| c | 15 |
| d | 30 |
| e | 99 |
+------+----------+
5 行セット (0.03 秒)
mysql> #c は間違っています。繰り返さないでください
mysql> select id,sum(num) from (
->
->
から * を選択します
-> すべて結合
-> bから*を選択
-> ) として tmp
->
-> ID でグループ化;
+------+----------+
| ID | 合計 (数値) |
+------+----------+
| 5 |
| b | 15 |
| c | 30 |
| 30 |
| e | 99 |
+------+----------+
5 行セット (0.00 秒)
mysql> 終了
ヤン・シバ先生はとても面白いです、昨日のビデオは次のとおりです:
http://www.tudou.com/programs/view/ahOl2jS2cYY/