1,创建表:boy并模拟插入几行数据
create table boy(
name varchar(10),
flower varchar(10)
);
insert into boy
values
("林书豪","玫瑰"),
("刘翔","桃花"),
("周杰伦","茉莉花"),
("犀利哥","荷花"),
("刘德华","狗尾巴花");
[img]
[/img]
2,创建表:girl并模拟插入几行数据
create table girl(
name varchar(10),
flower varchar(10)
);
insert into girl
values
("艾薇儿","玫瑰"),
("居里夫人","桃花"),
("芙蓉姐","茉莉花"),
("凤姐","茉莉花"),
("林志玲","荷花");
[img]
[/img]
3,测试:
[img]
[/img]
小小说明:左连接中,表中数据有多少行?既不是boy表的行数,也不是girl表的行数,也不是boy表的行数乘以girl表的行数,是由on条件决定。但一定大于等于左表的行数,如右边没有匹配的用null补齐,比如 刘德华那一行中,girl表中无法与他匹配便用null补上。
左右连接的区别:
A站在B的左边 = B站在A的右边。
A left join B = B right join A .
内连接:
查询左右表中都有的数据,不要左/右中null的那一部分。
内连接是左右连接的交集。
[img]
[/img]