mysql> select * from boy;
+--------+-------+
| bname | other |
+--------+-------+
| 屌絲 | A |
| 李四 | B |
| 王五 | C |
| 高富帥 | D |
| 鄭七 | E |
+--------+-------+
5 rows in set (0.00 sec)
mysql> select * from girl;
+--------+-------+
| gname | other |
+--------+-------+
| 空姐 | B |
| 大S | C |
| 阿嬌 | D |
| 張柏芝 | D |
| 林黛玉 | E |
| 寶釵 | F |
+--------+-------+
6 rows in set (0.00 sec)
mysql> select boy.*,girl.* from
-> boy left join girl on boy.other=girl.other;
+--------+-------+--------+-------+
| bname | other | gname | other |
+--------+-------+--------+-------+
| 屌絲 | A | NULL | NULL |
| 李四 | B | 空姐 | B |
| 王五 | C | 大S | C |
| 高富帥 | D | 阿嬌 | D |
| 高富帥 | D | 張柏芝 | D |
| 鄭七 | E | 林黛玉 | E |
+--------+-------+--------+-------+
6 rows in set (0.00 sec)
mysql> #女生上台,帶著另一半,沒有另一半的,用NULL補齊
mysql> select boy.*,girl.* from
-> girl left join boy on boy.other=girl.other;
+--------+-------+--------+-------+
| bname | other | gname | other |
+--------+-------+--------+-------+
| 李四 | B | 空姐 | B |
| 王五 | C | 大S | C |
| 高富帥 | D | 阿嬌 | D |
| 高富帥 | D | 張柏芝 | D |
| 鄭七 | E | 林黛玉 | E |
| NULL | NULL | 寶釵 | F |
+--------+-------+--------+-------+
6 rows in set (0.00 sec)
mysql> #注意,a left join b,並不是說a表的就一定在左邊,只是說在查詢資料時,以a表為準
mysql> select * from boy;
+--------+-------+
| bname | other |
+--------+-------+
| 屌絲 | A |
| 李四 | B |
| 王五 | C |
| 高富帥 | D |
| 鄭七 | E |
+--------+-------+
5 rows in set (0.00 sec)
mysql> select other,bname from boy;
+-------+--------+
| other | bname |
+-------+--------+
| A | 屌絲 |
| B | 李四 |
| C | 王五 |
| D | 高富帥 |
| E | 鄭七 |
+-------+--------+
5 rows in set (0.00 sec)
mysql> #女生上台,帶著另一半,沒有另一半的,用NULL補齊
mysql> #不能用左串連來做
mysql> #用右串連. 剛才是 女生 left join 男
mysql> #用右串連,只需 男 right join 女
mysql> select boy.*,girl.*
-> from
-> boy right join girl
-> on boy.other = girl.other;
+--------+-------+--------+-------+
| bname | other | gname | other |
+--------+-------+--------+-------+
| 李四 | B | 空姐 | B |
| 王五 | C | 大S | C |
| 高富帥 | D | 阿嬌 | D |
| 高富帥 | D | 張柏芝 | D |
| 鄭七 | E | 林黛玉 | E |
| NULL | NULL | 寶釵 | F |
+--------+-------+--------+-------+
6 rows in set (0.01 sec)
mysql> select boy.*,girl.*
-> from
-> boy inner join girl
-> on boy.other=girl.other;
+--------+-------+--------+-------+
| bname | other | gname | other |
+--------+-------+--------+-------+
| 李四 | B | 空姐 | B |
| 王五 | C | 大S | C |
| 高富帥 | D | 阿嬌 | D |
| 高富帥 | D | 張柏芝 | D |
| 鄭七 | E | 林黛玉 | E |
+--------+-------+--------+-------+
5 rows in set (0.00 sec)