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

1,创建表:boy并模拟插入几行数据
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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值