左右连接是一个性质所以我这里以左连接为例,写了一个小例子:
用到连接的时候on会常用到,
on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
简单解释就是假设两个表A、B。
以A表为左,B表为右。
如果是ON A.key = B.key,如果符合条件那么B表的内容也会列出来
如果不符合条件 那么A表的属性会显示,但是B表的内容就全部显示为NULL
可以把我的代码复制一下试试,我的建表方式比较蠢花了很长时间。你萌可以自己采用自己的方式
mysql> create table demo1(
-> id int,
-> name varchar(10),
-> pwd varchar(9));
Query OK, 0 rows affected (1.28 sec)
mysql> create table demo2(
-> son int,
-> em varchar(9),
-> name varchar(10),
-> pwd varchar(8));
Query OK, 0 rows affected (1.56 sec)
mysql> insert into demo1 values(1,"hj","hj");
Query OK, 1 row affected (0.09 sec)
mysql> insert into demo1 values(2,"hx","hx");
Query OK, 1 row affected (0.11 sec)
mysql> insert into demo1 values(3,"zzd","zzd1");
Query OK, 1 row affected (0.11 sec)
mysql> insert into demo2 values(1,"zz","zz123","zzd");
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo2 values(2,"hh","hh123","HH");
Query OK, 1 row affected (0.11 sec)
mysql> insert into demo2 values(3,"HIAHIA","hj","hx");
Query OK, 1 row affected (0.15 sec)
mysql> select s.*,d.* from demo1 s LEFT JOIN demo2 d ON s.name = d.name;
+------+------+------+------+--------+------+------+
| id | name | pwd | son | em | name | pwd |
+------+------+------+------+--------+------+------+
| 1 | hj | hj | 3 | HIAHIA | hj | hx |
| 2 | hx | hx | NULL | NULL | NULL | NULL |
| 3 | zzd | zzd1 | NULL | NULL | NULL | NULL |
+------+------+------+------+--------+------+------+
3 rows in set (0.01 sec)
mysql>