菜鸟学mysql之左右连接、内连接


1,创建表:boy并模拟插入几行数据
create table boy(
name varchar(10),
flower varchar(10)
);


insert into boy
values
("林书豪","玫瑰"),
("刘翔","桃花"),
("周杰伦","茉莉花"),
("犀利哥","荷花"),
("刘德华","狗尾巴花");


[img]
菜鸟学mysql之左右连接、内连接
[/img]

2,创建表:girl并模拟插入几行数据
create table girl(
name varchar(10),
flower varchar(10)
);


insert into girl
values
("艾薇儿","玫瑰"),
("居里夫人","桃花"),
("芙蓉姐","茉莉花"),
("凤姐","茉莉花"),
("林志玲","荷花");


[img]
菜鸟学mysql之左右连接、内连接
[/img]

3,测试:
[img]
菜鸟学mysql之左右连接、内连接
[/img]

小小说明:左连接中,表中数据有多少行?既不是boy表的行数,也不是girl表的行数,也不是boy表的行数乘以girl表的行数,是由on条件决定。但一定大于等于左表的行数,如右边没有匹配的用null补齐,比如 刘德华那一行中,girl表中无法与他匹配便用null补上。



左右连接的区别:
A站在B的左边 = B站在A的右边。
A left join B = B right join A .




内连接:
查询左右表中都有的数据,不要左/右中null的那一部分。
内连接是左右连接的交集。
[img]
菜鸟学mysql之左右连接、内连接
[/img]

你可能感兴趣的:(mysql)