1,创建表:boy并模拟插入几行数据
[img]
[img]http://dl.iteye.com/upload/attachment/0081/5629/d5ce4bff-a6f6-376b-9c5d-3ffbe1d79bce.png[/img]
[/img]
2,创建表:girl并模拟插入几行数据
[img]
[img]http://dl.iteye.com/upload/attachment/0081/5631/4439858a-55d3-38f5-b373-7405fd1da1ba.png[/img]
[/img]
3,测试:
[img]
[img]http://dl.iteye.com/upload/attachment/0081/5633/dfc079e1-91e5-3ac6-960f-c3e3584c0567.png[/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]http://dl.iteye.com/upload/attachment/0081/5635/05db2c90-336d-3c75-8644-4cfe00b3d6af.png[/img]
[/img]
create table boy(
name varchar(10),
flower varchar(10)
);
insert into boy
values
("林书豪","玫瑰"),
("刘翔","桃花"),
("周杰伦","茉莉花"),
("犀利哥","荷花"),
("刘德华","狗尾巴花");
[img]
[img]http://dl.iteye.com/upload/attachment/0081/5629/d5ce4bff-a6f6-376b-9c5d-3ffbe1d79bce.png[/img]
[/img]
2,创建表:girl并模拟插入几行数据
create table girl(
name varchar(10),
flower varchar(10)
);
insert into girl
values
("艾薇儿","玫瑰"),
("居里夫人","桃花"),
("芙蓉姐","茉莉花"),
("凤姐","茉莉花"),
("林志玲","荷花");
[img]
[img]http://dl.iteye.com/upload/attachment/0081/5631/4439858a-55d3-38f5-b373-7405fd1da1ba.png[/img]
[/img]
3,测试:
[img]
[img]http://dl.iteye.com/upload/attachment/0081/5633/dfc079e1-91e5-3ac6-960f-c3e3584c0567.png[/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]http://dl.iteye.com/upload/attachment/0081/5635/05db2c90-336d-3c75-8644-4cfe00b3d6af.png[/img]
[/img]