`

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

阅读更多

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]
  • 大小: 3 KB
  • 大小: 3.3 KB
  • 大小: 6.3 KB
  • 大小: 5.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics